【发布时间】:2017-10-23 18:55:15
【问题描述】:
jest 会自动恢复测试文件之间的模拟模块吗?例如,如果我在一个文件中调用jest.mock('some_module'),是否需要确保在该文件中运行所有测试后我调用jest.unmock('some_module')?
我不清楚文档中是否发生了这种情况。
【问题讨论】:
标签: unit-testing reactjs jestjs
jest 会自动恢复测试文件之间的模拟模块吗?例如,如果我在一个文件中调用jest.mock('some_module'),是否需要确保在该文件中运行所有测试后我调用jest.unmock('some_module')?
我不清楚文档中是否发生了这种情况。
【问题讨论】:
标签: unit-testing reactjs jestjs
您不必重置模拟,因为测试是并行运行的,每个测试文件都在其自己的沙盒线程中运行。即使像 Date 或 Math.random 这样模拟 JavaScript 全局变量也只会影响实际的测试文件。
到目前为止,我们遇到的唯一问题是模拟 process.env.NODE_ENV,它影响了同时运行的其他测试。但是在测试运行后重置它解决了这个问题。
【讨论】: