模拟'点击'在Angular单元测试中

时间:2015-07-13 17:28:12

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

我的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}

1 个答案:

答案 0 :(得分:0)

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

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