验收测试文件上传

时间:2016-06-07 02:14:51

标签: ember.js

我使用jQuery File Upload作为余烬组件。这个插件有一个API,可以让我在测试中与文件上传programmatically进行交互。这在组件测试中非常有效。但是在验收测试中我得到了这个错误:

  

断言失败:您已打开测试模式,该模式禁用了运行循环的自动运行。您需要在运行

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

我测试的片段:

// some steps before this.

andThen(() => {
  Ember.run(() => {
     find('.file-upload').fileupload('send', { files: [{name: 'file.doc' }] });
    });
  });
});

任何指针都会非常感激。

1 个答案:

答案 0 :(得分:0)

我曾经遇到过这一段时间。要处理这个问题,您必须在Ember.run循环中包装异步的实际组件代码(而不是测试代码)。这样做不会影响您的程序,因为它将与应用程序的主运行循环合并。

这使得代码在测试时异步执行。

有关详细信息,请参阅此处:http://discuss.emberjs.com/t/guide-asynchronous-side-effects-in-testing/2905