9 javascript jasmine typescript karma-jasmine angular
模拟文件清单
我正在尝试编写一个需要 FileList 的单元测试 (Angular5)。我到处寻找解决方案的任何提示。我想知道这是否可能,因为 FileList 的安全性,我的追求从一开始就注定了。
如果这是可能的,任何指针将不胜感激。
Bha*_*vin 17
选项 1:使用 DataTransfer 构造函数
describe('Component', () => {
const getFileList = () => {
const dt = new DataTransfer();
dt.items.add(new File([], 'file.csv'));
return dt.files;
};
it('should mock fileList', () => {
component.fileList = getFileList();
});
});
Run Code Online (Sandbox Code Playgroud)
选项 2:使用 Blob 模拟文件列表
describe('Component', () => {
const getFileList = () => {
const blob = new Blob([""], { type: "text/html" });
blob["lastModifiedDate"] = "";
blob["name"] = "filename";
const file = <File>blob;
const fileList: FileList = {
0: file,
1: file,
length: 2,
item: (index: number) => file
};
return fileList;
};
it('should mock fileList', () => {
component.fileList = getFileList();
});
});
Run Code Online (Sandbox Code Playgroud)
快乐编码!
| 归档时间: |
|
| 查看次数: |
3777 次 |
| 最近记录: |