我的应用程序使用window对象在运行时为docker注入环境变量,但是我的测试返回时出现了以下错误:declare const window: Window & _env_: anysetupTests.tsx
// jest-dom adds custom jest matchers for asserting on DOM
我发现当使用jest.doMock而不是jest.mock来模拟一个函数时(我需要在不同的it块中为同一个函数创建多个模拟实现),我发现测试失败了expect(jest.fn()).toBeCalled此外,如果我要求模块位于测试的顶部而不是在相同的it块中执行,则会给出一个不同的错误:
jest.fn() value must/S3
有没有一种方法可以让我在运行时找出一个模块是否被jest模仿了?由于模拟的模块通常是必需的,因此代码会被执行(如下所示:jest module executed even when mocked 我们需要这样做,因为当没有设置强制环境变量时,我们对每个文件的检查都会提前失败,这会导致即使模块被模拟,我们的测试也会失败。process.env.SOME_ENV) {
throw new Error(`Mandatory environment variable