react node node.js jestjs commonjs

node.js - node - jest react



Restablecer módulo individual con Jest (1)

jest.resetModules() borra el caché requerido para todos los módulos, pero ¿hay una manera de borrarlo para un solo módulo? No se puede utilizar require.cache ya que Jest parece omitirlo.

Estoy probando un módulo de Nodo que tiene estado (es decir, se basa en el hecho de que varias llamadas require devuelva la misma instancia). Para mi prueba, necesito restablecer el estado del módulo para probar diferentes escenarios. jest.resetModules() funciona pero luego necesito volver a require algunos otros módulos simulados que no necesitaban reiniciarse.


Las relaciones públicas mencionadas en los comentarios se han fusionado. Desde v24.0.0-alpha.9 ahora puede usar jest.isolateModules para hacer esto.

Digamos que solo desea restablecer un módulo determinado, entonces debería requerir que en la devolución de llamada de jest.isolateModules :

let myModule; jest.isolateModules(() => { myModule = require(''my-certain-module''); });