从本地文件创建 blob 以进行角度单元测试

问题描述 投票:0回答:1

我正在尝试为我们的角度应用程序中的文件上传功能编写单元测试。 upload 方法采用 File 对象作为输入。我想象的方式 - 也许是因为我来自 Java 世界 - 我应该在项目结构中的某个位置放置一个示例文件,然后加载该文件并将其传递给上传它的方法。我似乎找不到创建创建文件所需的 blob 的方法。我知道我可以创建一个类似的文件

const testFile: File = new File(['blob'],'./file.txt');

我似乎无法弄清楚如何将文件作为 blob 读取。 我有几个问题:

  1. 我对这个测试的思考是否正确,还是应该以不同的方式进行?
  2. 如何使用打字稿在角度测试中将本地文件读取到 blob 中?

谢谢。

angular jasmine
1个回答
0
投票

对于你的第二个问题,我是这样做的:

将文件放入您选择的文件夹中(例如 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();
© www.soinside.com 2019 - 2024. All rights reserved.