jest是否会自动在测试文件之间恢复模拟模块?例如,如果我在一个文件中调用jest.mock('some_module')
,我是否需要确保在该文件中运行所有测试后调用jest.unmock('some_module')
?
我不清楚这是否发生在文档中。
答案 0 :(得分:6)
您不必重置模拟,因为测试是并行运行的,每个测试文件都在自己的沙盒线程中运行。即使模拟像Date
或Math.random
这样的JavaScript全局变量也只会影响实际的测试文件。
到目前为止,我们遇到的唯一问题是模仿process.env.NODE_ENV
,它影响了同时运行的其他测试。但是在测试运行后重新设置解决了这个问题。