我正在尝试为我们的角度应用程序中的文件上传功能编写单元测试。 upload 方法采用 File 对象作为输入。我想象的方式 - 也许是因为我来自 Java 世界 - 我应该在项目结构中的某个位置放置一个示例文件,然后加载该文件并将其传递给上传它的方法。我似乎找不到创建创建文件所需的 blob 的方法。我知道我可以创建一个类似的文件
const testFile: File = new File(['blob'],'./file.txt');
我似乎无法弄清楚如何将文件作为 blob 读取。 我有几个问题:
谢谢。
对于你的第二个问题,我是这样做的:
将文件放入您选择的文件夹中(例如 src 文件夹旁边的测试资产)
编辑您的
karma.conf.js
:
files: [
{
pattern: 'testing-assets/**',
included: false,
watched: false,
served: true
}
]
然后在您的
.spec.ts
文件中您可以执行以下操作:
let response = await fetch("/base/testing-assets/file.txt");
let blob: Blob = await response.blob();