在异步测试的上下文中调用 'done' 做什么?
What does calling 'done' do in the context of asynchronous testing?
在中有如下代码:
describe("ModuleName", function() {
var mod;
beforeAll(function (done) {
// This loads your module and saves it in `mod`.
require(['../js/app/ModuleName'], function(mod_) {
mod = _mod;
done();
});
});
it("exists", function(){
expect(mod).toBeDefined();
expect(mod.init).toBeDefined();
});
});
他们将函数 done()
传递到组合中。他们为什么要用这个?
所以当你做一些异步的事情时,比如调用 require()
,你可以在它完成时发出信号。否则测试框架将无法知道您何时完成异步操作。
done()
的目的是让您可以在异步操作完成时向测试框架发出指示。
在
describe("ModuleName", function() { var mod; beforeAll(function (done) { // This loads your module and saves it in `mod`. require(['../js/app/ModuleName'], function(mod_) { mod = _mod; done(); }); }); it("exists", function(){ expect(mod).toBeDefined(); expect(mod.init).toBeDefined(); }); });
他们将函数 done()
传递到组合中。他们为什么要用这个?
所以当你做一些异步的事情时,比如调用 require()
,你可以在它完成时发出信号。否则测试框架将无法知道您何时完成异步操作。
done()
的目的是让您可以在异步操作完成时向测试框架发出指示。