jest.resetModules()
清除所有模块的要求缓存,但是是否有办法仅清除单个模块?无法使用require.cache
,因为Jest似乎绕过了它。
我正在测试有状态的Node模块(即,它依赖于对require
的多次调用返回相同实例的事实)。对于我的测试,我需要重置模块的状态以测试不同的场景。 jest.resetModules()
有效,但是随后我需要重新require
其他一些不需要重置的模拟模块。
自笑话24起,您现在可以使用jest.isolateModules
来执行此操作。
假设您只想重置某个模块,那么您应该在jest.isolateModules
的回调中要求该模块:
jest.isolateModules