2015-06-05 25 views
3

我的代码:超时不AngularJS噶工作 - 茉莉测试

describe('Popup', function(){ 

it("Should close on second click", function(){ 
     compileDirective(400,'click','true'); 
      element.triggerHandler('click'); 
      timeout(function() { 
       element.triggerHandler('click'); 
       scope.$digest(); 
       timeout.flush(); 
       element.remove(); 
       $(".sidepopright").remove(); 
      }, 1000); 

     }); 

}); 

我想为弹出的第二次点击的延迟,所以我把超时第一次点击后。但是,它不起作用。任何人有想法?

回答

0

您应该使用注射服务$timeout,而不是超时。

$timeout(function() { 
// Do something 
}, 1000); 
+0

我在beforeEach()部分定义了timeout = $ timeout,所以它不是$ timeout问题..任何想法? – user2991183

0

您必须使用$ timeout.flush();模拟单元测试中的超时完成。