javascript - jasmine 如何与异步测试一起工作

标签 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 规范测试等待?

谢谢

最佳答案

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

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

关于javascript - jasmine 如何与异步测试一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597507/

相关文章:

javascript - 从 Reddit/REST API 获取和渲染数据

javascript - 使用 AVA 进行动态测试

c# - 如何以编程方式退出正在运行的单元测试(使用 Visual Studio c# 和单元测试框架)

ios - 如何每次都像第一次一样测试 iOS 应用程序?

ios - Firebase 在 Swift 中使用 PromiseKit/AwaitKit 调用永远不会返回

javascript - CSS 不适用于文本区域

javascript - 如何使用jquery查找数组中的重复项

javascript - 异步函数中的代码在它后面的代码之前执行

javascript - Aria gridcell 标签在 SVG 矩形内始终为空白

c# - 使用 Task 时,如果 ThreadPool 已满/忙会发生什么情况?