¿Cómo puedo ejecutar algunos config antes de cada Broma de ejecución de la prueba
-
21-12-2019 - |
Pregunta
Estoy escribiendo tests para Reaccionar aplicación que hace uso de Fluxxor para proporcionar un despachador de sucesos.Hacer que el trabajo requiere contar Broma no para burlarse de un par de módulos que se usan internamente, y son proporcionados por el propio Nodo.
Eso significa que no basta con agregar a la unmockedModulePathPatterns
clave de configuración, y en lugar de tener que utilizar algún código como este:
[ 'util', 'events' ].forEach(function (module) {
jest.setMock(module, require.requireActual(module));
});
Sin embargo, no puedo encontrar en cualquier lugar útil para ponerlo.Tengo un setupEnvScriptFile
lo que configura un par de variables globales que uso en casi todos mis pruebas, pero el jest
el objeto no parece que estén disponibles en ese contexto, de manera que no puedo establecer la burla de allí.
Como un hacky medida provisional he envuelto el código de arriba en una función que me llame al inicio de cualquier describe
bloques de pruebas Fluxxor tiendas, pero lejos de su ideal.
Solución 2
Parece que la respuesta, al menos en la actualidad, es "que no se puede en este caso", pero hay cuestiones abiertas para los dos cambios que deben hacerse para que la apoyen.
https://github.com/facebook/jest/issues/106 https://github.com/facebook/jest/issues/107
Otros consejos
Has probado config.setupTestFrameworkScriptFile?Parece que sería el lugar adecuado para mono parche de la api, como por la documentación.
FWIW, he Aquí una solución que hemos estado usando para agregar Fluxxor y Reaccionar-Router apoyo a nuestra prueba de especificaciones.