量角器:模拟angularjs属性

时间:2018-10-31 10:21:33

标签: javascript mocking protractor e2e-testing angularjs-1.7

我有一个公用模块,该模块确实包含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', () => {});
    });
}

1 个答案:

答案 0 :(得分:0)

为了使其工作,我不得不将属性放在子模块中

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