我使用jQuery File Upload作为余烬组件。这个插件有一个API,可以让我在测试中与文件上传programmatically进行交互。这在组件测试中非常有效。但是在验收测试中我得到了这个错误:
断言失败:您已打开测试模式,该模式禁用了运行循环的自动运行。您需要在运行
中包装具有异步副作用的任何代码
我测试的片段:
// some steps before this.
andThen(() => {
Ember.run(() => {
find('.file-upload').fileupload('send', { files: [{name: 'file.doc' }] });
});
});
});
任何指针都会非常感激。
答案 0 :(得分:0)
我曾经遇到过这一段时间。要处理这个问题,您必须在Ember.run循环中包装异步的实际组件代码(而不是测试代码)。这样做不会影响您的程序,因为它将与应用程序的主运行循环合并。
这使得代码在测试时异步执行。
有关详细信息,请参阅此处:http://discuss.emberjs.com/t/guide-asynchronous-side-effects-in-testing/2905