茉莉花如何与Async Test配合使用

时间:2015-09-15 23:53:27

标签: javascript testing asynchronous jasmine

所有

我对Jasmine测试很陌生,我想知道异步测试的一个问题是:

有人可以简单解释一下Jasmine知道里面有一个done()函数调用并等待完成吗?

例如,如果我在beforeEach中添加了一些异步调用:

var flag = false;
beforeEach(function(done){
    setTimeout(function(){
        // some task here
        flag = true;
        done();
    }, 3000)
})

it("Should be true if the async call has completed", function () {
    expect(flag).toEqual(true);
});

Jasmine如何知道应该让it规范测试等待?

谢谢

1 个答案:

答案 0 :(得分:1)

Jasmine知道这一点,因为你提供了done参数。如果您没有异步调用,则应省略done参数。

beforeEach(function(){
    nonAsyncMethod();
})