Jest Test 中的 FileReader、File 和 TextDecoder 未定义

Seb*_*ian 5 javascript unit-testing typescript jestjs

之前我只用 Jasmine 进行测试,现在我尝试 Jest,但面临着这样的问题:FileReader, File and TextDecoder我的测试中没有定义类似的东西。我如何使用这些类及其实际功能来测试使用它们的类?

0BL*_*BLU 4

至少TextDecoder我在@josephting的评论的帮助下找到了解决办法。这真的很 hacky,因为它要求您安装一个开发依赖项,该依赖项也已被弃用并且不再维护,称为text-encoding.

首先您需要setupFiles在您的中定义jest.config.js

[...]
setupFiles: ['./tests/setupEnv.js'],
[...]
Run Code Online (Sandbox Code Playgroud)

并且您还需要在您的全局中需要提到的包setupEnv.js

[...]
setupFiles: ['./tests/setupEnv.js'],
[...]
Run Code Online (Sandbox Code Playgroud)

  • 以下内容对我有用,来自 Node.js 包含的 `util` 包: `const { TextDecoder } = require('util'); 全局.TextDecoder = TextDecoder;` (5认同)