好的,所以我显然对摩卡很新。根据我的理解,阅读文档和谷歌后,这应该工作,但它不是:
describe("Check before", function(){
var beforeCalled = false;
before(function(){
setTimeout(function() {
beforeCalled = true;
done();
}, 150);
});
it("should run after before called", function(){
expect(beforeCalled).to.equal(true);
})
})
it
部分不等待'之前'完成并被调用。也许我读错了文档,或者我错过了一些东西,不确定。
任何见解都会有所帮助。
答案 0 :(得分:1)
done
回调必须在函数签名中才能使mocha等待。
before(function(done){
setTimeout(function() {
beforeCalled = true;
done();
}, 150);
});
我有养成在混合同步和异步测试时总是使用done
的习惯。如果您在done
上忘记了一个异步it
,则Mocha可以完成,就像没有测试失败一样。