一次通过Ember集成测试打破了下一个:坏的拆机块?

时间:2015-05-12 13:50:42

标签: ember.js ember-cli ember-qunit

我有两个Ember集成测试,A和B.(我有更多,但在调试这个我已经删除了所有其他测试,以便隔离问题。在同一个文件中有9个测试作为A我评论了另一个8.)如果A在B之前运行,B将失败。如果B单独运行,或者在A运行之前,它将通过。

从这个描述中可以清楚地看出A正在为测试环境做些什么事情搞砸B.然而,在对测试和日志消息所涉及的生产代码进行自由腌制之后,我并没有更接近于弄清楚是什么了,我希望有其他人可以发现是否有明显的问题。

现在我正密切关注两个测试中的afterEach块。以下是测试A的beforeEachafterEach块的概述:

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 ......

1 个答案:

答案 0 :(得分:2)

您的设置和拆卸看起来很好。它们是常用的并且是正确定义的。

然而,ember-qunit仍然存在未解决问题的问题 - take a look here to see the progress

正如你所说,在Ember 1.13中没有发生。