gpt4 book ai didi

Jasmine 2.0 rc* 等待未定义

转载 作者:行者123 更新时间:2023-12-02 11:38:16 25 4
gpt4 key购买 nike

刚刚从 1.3 升级到 jasmine 2.0 rc5,现在我所有使用 waits() 的测试都被破坏了,因为 waits ()waitsFor() 函数未定义。我似乎在网上找不到任何引用资料,有人知道替换 wait() 的新 API 是什么吗?

最佳答案

嗯,异步调用的使用语法发生了变化。您可以在其文档中轻松查看两个版本之间的差异:

Jasmine 1.3 Asynchronous support使用 waitsFor()run() 函数。

根据Jasmine 2.0 Asynchronous support ,这些函数已从库中删除。然而,Jasmine 2.0 为原始的 beforeEach()afterEach()it() 函数添加了异步支持。传递给这些函数的回调函数现在可以采用一个参数来指示规范是否可以运行。

然后,当您达到运行测试的必要条件时(只要异步作业完成),您只需调用 done() 即可。所有的魔法都会发生;)

来自文档:

describe("Asynchronous specs", function() {
var value;

beforeEach(function(done) {
setTimeout(function() {
value = 0;
done();
}, 1);
});

it("should support async execution of test preparation and expectations", function(done) {
value++;
expect(value).toBeGreaterThan(0);
done();
});
});

上面的 it() 规范只会在 setTimeout() 调用之后运行,因为 done() 在那里被调用。请注意,it() 回调需要一个参数 (done)。

关于Jasmine 2.0 rc* 等待未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20119324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com