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

时间:2019-04-04 17:26:24

标签: javascript typescript unit-testing jestjs

在我仅使用Jasmine进行测试之前,现在我尝试使用Jest,但是面临这样的问题,即FileReader, File and TextDecoder之类的东西未在我的测试中定义。 如何使用带有实际功能的此类来测试使用它们的类?

1 个答案:

答案 0 :(得分:1)

至少对于TextDecoder,我已经在@josephting的评论的帮助下找到了解决方法。这确实很麻烦,因为它要求您安装一个也不推荐使用且不再维护的dev依赖项,称为text-encoding

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

[...]
setupFiles: ['./tests/setupEnv.js'],
[...]

您还需要在setupEnv.js中全局要求上述软件包:

TextDecoder = require('text-encoding').TextDecoder;