Tengo algunas dependencias circulares en mi aplicación. No afecta en producción, la aplicación funciona bien. Pero ahora comencé a escribir pruebas unitarias usando broma y ahora algunas de mis importaciones devuelven undefined . Y por eso no puedo escribir una sola prueba.
Incluso cuando intento renderizar la aplicación completa, hay algunas indefinidas en las importaciones.
No puedo eliminar estas dependencias circulares porque llevaría mucho tiempo.
¿Cómo puedo lidiar con eso?
Aquí hay algunos ejemplos de errores dados por Jest
TypeError: Cannot read properties of undefined (reading 'sensorTypeRenderer') 4 | import { Renderers, ColumnDescriptionGenerators } from '@components'; > 6 | import sensorTypeRenderer = Renderers.sensorTypeRenderer; Aquí está el servicio no se encuentra porque EventsGroupsStore no está definido
ServiceNotFoundError: Service with "<UNKNOWN_IDENTIFIER>" identifier was not found... > 204 | return Container.get(EventsGroupsStore);El problema no estaba realmente con las dependencias circulares. Acabo de configurar los alias de forma incorrecta.
Así es como debería ser:
moduleNameMapper: { "^@src(.*)": "<rootDir>/src$1", "^@tests(.*)": "<rootDir>/tests$1", "^@data(.*)": "<rootDir>/tests/mockData$1", "^@domain(.*)": "<rootDir>/src/domain$1", "^@service(.*)": "<rootDir>/src/service$1", "^@utils(.*)": "<rootDir>/src/utils$1", "^@view(.*)": "<rootDir>/src/view$1", "^.+\\.(css|scss)$": "<rootDir>/tests/styleMock.js", "^@resources": "<rootDir>/tests/styleMock.js", "^@components(.*)": "<rootDir>/src/components$1", }, Y simplemente no agregué estos (.*) y $1