量角器:mock angularjs 属性

Protractor: mock angularjs attribute

我有一个包含 noDoubleClick 属性的通用模块,我用它来防止表单按钮被意外点击两次。

(function () {
  function NoDoubleClickDirective() {
    return {
      restrict: 'A',
      link(scope, elem) {
        let clicked = false;
        elem.on('click', (e) => {
          if (clicked) {
            e.preventDefault();
          } else {
            clicked = true;
            setTimeout(() => {
              clicked = false;
            }, 3000);
          }
        });
      },
    };
  }

  angular
    .module('my.common')
    .directive('noDoubleClick', NoDoubleClickDirective);
}());

但是在 运行 使用量角器测试时我不想要这个功能。无论如何禁用该属性?

我这样试过,但是不行

onPrepare() {
    browser.addMockModule('my.common', function() {
      angular
        .module('my.common')
        .directive('noDoubleClick', () => {});
    });
}

为了让它工作,我必须将属性放在子模块中

browser.addMockModule('my.common.no-double-click', function() {
  angular
    .module('my.common.no-double-click', [])
    .directive('noDoubleClick', () => {});
});