应该何时进行余烬测试以清除其定时器?

时间:2015-02-19 20:18:25

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

我有一个较旧的Ember-cli应用程序,我刚刚更新到所有最新的依赖项和文件格式,我已经ember initember-cli@0.2.0-beta.1一起运行,但当我尝试写一个接受时使用visit()帮助程序进行测试,内部wait函数永远无法解析。

我能够追踪问题的最远的是wait文件中的bower_components/ember/ember.js函数。 if (run.hasScheduledTimers() || run.currentRunLoop) { return; }

backburner上有一个计时器,但是一次又一次,循环返回到这里,它似乎永远不会有机会清除计时器。

我很确定计时器应该确保wait助手在ajax请求之后等待,但是ajax请求早已解决了。哎呀,如果还有待处理的请求,我们就会退出这个功能。

非常感谢对此过程的任何见解!!

1 个答案:

答案 0 :(得分:4)

我的应用程序中有一个Em.run.later的实例循环,以递归方式检查超时。事实证明,这并不罕见!

我的解决方案是将run.later块放在当前环境的条件检查中,并在测试中禁用它。