超时在AngularJS Karma - Jasmine测试中不起作用

时间:2015-06-05 05:56:20

标签: angularjs unit-testing jasmine karma-jasmine

我的代码:

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);

        });

});

我想延迟第二次点击弹出窗口,所以我在第一次点击后暂停了。但是,它不起作用。有人有想法吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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