我有两个Ember集成测试,A和B.(我有更多,但在调试这个我已经删除了所有其他测试,以便隔离问题。在同一个文件中有9个测试作为A我评论了另一个8.)如果A在B之前运行,B将失败。如果B单独运行,或者在A运行之前,它将通过。
从这个描述中可以清楚地看出A正在为测试环境做些什么事情搞砸B.然而,在对测试和日志消息所涉及的生产代码进行自由腌制之后,我并没有更接近于弄清楚是什么了,我希望有其他人可以发现是否有明显的问题。
现在我正密切关注两个测试中的afterEach
块。以下是测试A的beforeEach
和afterEach
块的概述:
beforeEach: function() {
server = new Pretender(function() {
// Pretender setup removed for brevity
});
App = startApp();
},
afterEach: function() {
server.shutdown();
Ember.run(App, App.destroy);
}
那afterEach
几乎就是版本的ember-cli代码,但它让我感到困惑。 The documentation on Ember.run()
建议它应该将一个函数作为一个参数,但我们不是在这里给它一个,所以我不确定它是如何工作的。并且,Pretender shutdown()
调用是否应该在Ember.run(或在它自己的Ember.run中)?
版本,记录:ember-cli 0.2.0,Ember 1.10.1。
ETA:当我更新到ember-cli 0.2.3和Ember 1.11.3时,问题就消失了。现在,如果我能算出the other failing tests we have with that update ......
答案 0 :(得分:2)
您的设置和拆卸看起来很好。它们是常用的并且是正确定义的。
然而,ember-qunit仍然存在未解决问题的问题 - take a look here to see the progress。
正如你所说,在Ember 1.13中没有发生。