刚刚升级到茉莉花2.0 rc5 from 1.3现在我所有的测试都使用了waits()
被打破了,因为waits()
and waitsFor()
函数未定义。我似乎在网上找不到任何参考,有人知道替换 wait() 的新 API 是什么吗?
好吧,异步调用的使用语法发生了变化。
您可以在其文档中轻松查看两个版本之间的差异:
Jasmine 1.3 异步支持 http://jasmine.github.io/1.3/introduction.html#section-Asynchronous_Support uses waitsFor()
and run()
功能。
根据Jasmine 2.0 异步支持 http://jasmine.github.io/2.0/introduction.html#section-Asynchronous_Support,这些函数已从库中删除。然而,Jasmine 2.0 为原语添加了异步支持beforeEach()
, afterEach()
and 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();
});
});
The it()
上面的规范只会在之后运行setTimeout()
打电话,因为done()
在那里被称为。请注意it()
回调接受一个参数(done
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)