为什么我的茉莉花单元测试不等待“完成”?

时间:2015-05-08 11:15:31

标签: javascript node.js jasmine jasmine-node

我在节点应用程序中进行了测试...

it('will call done', function(done) {
            myObj.fn(function(){

                done();
           }
});

和代码......

myObj.fn = function(success){
   setTimeout(2000000000,success);
}

当我运行测试时,我在输出中得到了这个...

-MacBook-Pro:torus-pqdata user$ npm test

> torus-pqdata@0.0.0 test /Stuff/code bases/2015/torus-pqdata
> jasmine-node specs/

然而,你可以看到单元测试只是退出而没有失败,但我需要它超时(我试图模拟悬挂的东西)。如何让它超时?

1 个答案:

答案 0 :(得分:1)

在setTimeout中交换参数:

myObj.fn = function(success){
    setTimeout(success, 200000000);
}

以下是MDN的一些参考:https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout