Ember验收测试失败并显示错误您已打开测试模式,该模式禁用了运行循环的自动运行

时间:2018-05-28 02:55:29

标签: ember.js acceptance-testing ember-qunit

我正在编写验收测试,我收到以下错误 未捕获错误:断言失败:您已打开测试模式,禁用了运行循环的自动运行。您需要在运行

中包装具有异步副作用的任何代码

当我使用Ember add on组件(由其他团队维护)时,会导致此错误。 据我所知,这个错误是由于没有在运行循环中包装任何异步代码引起的,我试图将所有代码包装在runloops中,但没有任何作用。

由于我无法控制外部插件,有没有办法通过更改代码或测试设置中的内容来克服这个问题?

我不能在这里发布代码,但我的测试就像

一样简单
    visit('/someurl')
        andthen(()=>{
        //assert something
        })

1 个答案:

答案 0 :(得分:0)

你必须在这里使用run

import { run } from '@ember/runloop';

test('my test', async function(assert) {
  await visit('/someurl');
  run(()=>{
    //assert something
  });
});

这是一篇关于Ember-run loop

的好文章