0

我正在尝试测试我所做的非常简单的指令。

.directive('cssnotification', [ '$timeout', function($timeout) {
return {
    restrict:'A',
    link:function(scope, element, attrs) {

        scope.$watch('success',function(newVal ,oldVal){

            if(newVal){                                
                $timeout(function(){                        

                         scope.success = false;                                                      

                },1000);
            }
        },true)
    }  
}
 }])

该指令使某些元素可见 1 秒,然后 - 将其淡出。(这是演示问题的小提琴)

我知道为了执行 fadingOut 动画角度应该向元素添加“ng-hide-add”类,这就是我正在尝试测试的。在浏览器中它可以工作(从 fiddler 中删除 angular-mocks 并且它会运行)但是在单元测试中 - 这个测试由于某种原因失败了。

我想这与注入 ng-animate 有关系...

谢谢转发

4

1 回答 1

1

找到解决方案:等待一段时间,直到 nganimate 添加类:

      $timeout(function(){
          expect(e.hasClass('ng-hide-add')).toEqual(true);
      },100)

这是小提琴

于 2013-12-26T08:59:11.123 回答