在ember cli中上传文件的验收测试

Ung*_*gue 17 integration-testing qunit ember.js ember-cli ember-qunit

我想在上传文件的ember中创建一个基本的验收测试.我可以使用Pretender模拟服务器,但我需要知道如何input type="file"使用文件系统中的文件填充字段.所以问题基本上是:

  1. 如何使用ember测试助手填充输入文件字段,我是否使用fillIn帮助器?
  2. 如何将示例文件添加到文件夹并从验收测试中获取它们.是否有可能从验收测试中获取我的Ember项目的当前路径,以从要上载的文件系统中选择文件?在Rails中,我们将其Rails.root用于此目的.

小智 6

我的解决方法不同:我没有从文件系统上传文件,但是手动创建一个Blob并在input元素上使用triggerHandler:

let inputElement = $('input[type=file]');

let blob = new Blob(['foo', 'bar'], {type: 'text/plain'});
blob.name = 'foobar.txt';
inputElement.triggerHandler({
  type: 'change',
  target: {
    files: {
      0: blob,
      length: 1,
      item() { return blob; }
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

这会触发上传.