我正在编写验收测试,我收到以下错误 未捕获错误:断言失败:您已打开测试模式,禁用了运行循环的自动运行。您需要在运行
中包装具有异步副作用的任何代码当我使用Ember add on组件(由其他团队维护)时,会导致此错误。 据我所知,这个错误是由于没有在运行循环中包装任何异步代码引起的,我试图将所有代码包装在runloops中,但没有任何作用。
由于我无法控制外部插件,有没有办法通过更改代码或测试设置中的内容来克服这个问题?
我不能在这里发布代码,但我的测试就像
一样简单 visit('/someurl')
andthen(()=>{
//assert something
})
答案 0 :(得分:0)
你必须在这里使用run
:
import { run } from '@ember/runloop';
test('my test', async function(assert) {
await visit('/someurl');
run(()=>{
//assert something
});
});
这是一篇关于Ember-run loop
的好文章