Ember.js 余烬测试何时应清除其计时器?

Ember.js 余烬测试何时应清除其计时器?,ember.js,ember-cli,ember-testing,Ember.js,Ember Cli,Ember Testing,我有一个旧的Ember cli应用程序,我刚刚更新到所有最新的依赖项和文件格式,我用Ember运行了Ember init-cli@0.2.0-beta.1,但当我试图用visit()助手编写验收测试时,内部wait函数永远无法解析 我能追踪到的最远的问题是wait函数,该函数位于bower\u components/ember/ember.js文件的第行 if(run.hasScheduledTimers()| | run.currentRunLoop){return;} backburne

我有一个旧的Ember cli应用程序,我刚刚更新到所有最新的依赖项和文件格式,我用
Ember运行了
Ember init
-cli@0.2.0-beta.1
,但当我试图用
visit()
助手编写验收测试时,内部
wait
函数永远无法解析

我能追踪到的最远的问题是
wait
函数,该函数位于
bower\u components/ember/ember.js
文件的第行

if(run.hasScheduledTimers()| | run.currentRunLoop){return;}

backburner上有一个计时器,但是循环一次又一次地返回到这里,而且它似乎从来没有机会清除计时器

我很确定计时器应该确保
wait
helper在ajax请求之后等待,但是ajax请求早就解决了。见鬼,如果仍然有挂起的请求,我们就会退出这个函数


对这一过程的任何见解都将不胜感激

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


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

我在应用程序中有一个
Em.run.later
实例,用于递归检查超时。事实证明,这并不罕见


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

我在我的应用程序中使用了一个Ember.run.later(),看起来我可能重复了这个问题:我在我的应用程序中使用了一个Ember.run.later(),这看起来像是我重复了这个问题:禁用,因为您正在删除test env中的应用程序功能,还是说您正在通过test env中的其他方法使用该功能@DanFYeah,我在测试模式下删除了应用程序的超时功能。我承认这可能不会在所有场景中都起作用,但我已经为这些场景想出了一些其他修复方法。如果您遇到需要兑现承诺的情况,请在此处发布一个链接,我将共享解决方案。禁用是因为您正在删除test env中的应用程序功能,还是说您正在通过test env中的其他方法使用该功能@DanFYeah,我在测试模式下删除了应用程序的超时功能。我承认这可能不会在所有场景中都起作用,但我已经为这些场景想出了一些其他修复方法。如果你有需要兑现承诺的情况,请在此处发布链接,我将分享解决方案。