我正在使用Mocha为Ember.js应用程序编写测试。我使用Teddy Zeenny的ember-mocha-adapter。
一旦涉及承诺,测试就会随机失败。我经常收到这个错误:
Error: Assertion Failed: You cannot defer readiness since the `ready()` hook has already been called.
这是JS Bin testcase。它包含10次相同的测试,通常会失败(使用Firefox和Chromium测试)。
相同的测试与QUnit运行良好(可能是偶然的:))(JS Bin testcase)。如何使用Mocha进行此操作?我尝试在Ember.run()调用中包装promise,但它没有解决问题。
another question有同样的问题,但Teddy Zeenny提出的更正的JS Bin也不适合我。
答案 0 :(得分:1)
代码有3个问题:
before()
。 mocha.run()
:
Ember.$(function() {
mocha.run();
});
这是固定的JS Bin testcase。
Teddy Zeenny在teddyzeenny/ember-mocha-adapter#18找到了解决这个问题的方法。
答案 1 :(得分:0)
真的是qunit工作的唯一原因而且mocha不是因为你在每次测试之前和每次测试之后都在重置。