【问题标题】:Simulate 'click' in Angular unit test在 Angular 单元测试中模拟“点击”
【发布时间】:2023-04-07 06:43:01
【问题描述】:

我的 Angular 指令定义对象中有以下链接函数:

function link(scope, element) {
  var blurred = angular.element(element[0].getElementsByClassName('blur'));
  blurred.on('click', function() {
    blurred.css({'-webkit-filter': 'none'});
  });
}

我正在尝试测试 '-webkit-filter': 'none' 在单击“模糊”元素时添加为样式,并进行以下测试。我的问题是两个console.log 是一样的;我期望添加的样式永远不会是。

it('should add the necessary style when clicked', function() {
  var blurred = angular.element(element[0].getElementsByClassName('blur'));
  console.log(blurred);
  blurred.triggerHandler('click');
  console.log(blurred);
});

两种情况下的记录值如下所示:

{0: <div class="blur ng-binding">

    <br>

    <br>
  </div>, length: 1}

【问题讨论】:

    标签: javascript angularjs unit-testing jasmine karma-runner


    【解决方案1】:

    点击后尝试添加等待以避免竞争条件(如果有)

    `waits(500);` //  avoid race condition
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多