【发布时间】:2014-10-25 05:46:48
【问题描述】:
我正在使用 Jasmine 2.0 和 require.js。当我将异步代码放在 beforeEach 函数中时,我无法让异步测试正常工作。在异步调用完成之前,我的 it 语句仍在运行。
这是我的规格:
describe("App Model :: ", function() {
var AppModel;
beforeEach(function(done) {
require(['models/appModel'], function(AppModel) {
AppModel = AppModel;
done();
});
});
// THIS SPEC FAILS AND RUNS BEFORE ASYNC CALL
it("should exist", function(done) {
this.appModel = new AppModel()
expect(this.appModel).toBeDefined();
done();
});
// THIS SPEC PASSES
it("should still exist", function(done) {
require(['models/appModel'], function(AppModel) {
this.appModel2 = new AppModel()
expect(this.appModel2).toBeDefined();
done();
});
});
});
当我在it 中包含异步时,第一个规范失败但第二个规范通过。
理想情况下,我希望 beforeEach async 能够正常工作,而不是不干燥并将每个 require 复制到单独的 it 语句中。
有什么建议吗?
【问题讨论】:
标签: javascript asynchronous jasmine require