Recibir el siguiente error al ejecutar Jest
Cannot find module 'src/views/app' from 'index.jsx' at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17) at Object.<anonymous> (src/index.jsx:4:12)índice.jsx
import AppContainer from 'src/views/app';paquete.json
"jest": { "collectCoverageFrom": [ "src/**/*.{js,jsx,mjs}" ], "setupFiles": [ "<rootDir>/config/polyfills.js" ], "testMatch": [ "<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}", "<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}" ], "testEnvironment": "node", "testURL": "http://localhost", "transform": { "^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest", "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js", "^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js" }, "transformIgnorePatterns": [ "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$" ], "moduleDirectories": [ "node_modules", "src" ], "moduleNameMapper": { "^react-native$": "react-native-web" }, "moduleFileExtensions": [ "web.js", "js", "json", "web.jsx", "jsx", "node", "mjs" ] },Mis pruebas que ejecutan archivos que solo contienen rutas relativas en el árbol se ejecutan correctamente.
Para aclarar, estoy buscando cómo configurar Jest para que no falle en rutas absolutas.
Creo que estás buscando: root o modulePaths y moduleDirectories
Puede agregar rutas relativas y absolutas.
Me aseguraría de incluir <rootDir> en la matriz de raíces, <rootDir> en la matriz de modulePaths y node_modules en la matriz de moduleDirectories, a menos que tenga una buena razón para excluirlos.
"jest": { "roots": [ "<rootDir>", "/home/some/path/" ], "modulePaths": [ "<rootDir>", "/home/some/other/path" ], "moduleDirectories": [ "node_modules" ], }Ya que en package.json tienes:
"moduleDirectories": [ "node_modules", "src" ] Lo que dice que cada módulo que importe se buscará primero en node_modules y, si no se encuentra, se buscará en el directorio src .
Como está buscando en el directorio src , debe usar:
import AppContainer from 'views/app'; Tenga en cuenta que esta ruta es absoluta para el directorio src , no tiene que navegar para ubicarla como ruta relativa.
O puede configurar su directorio raíz en moduleDirectories dentro de su pakcage.json para que todos sus componentes puedan importarse como lo desee.
agregando
"moduleDirectories": [ "node_modules", "src" ]debería funcionar si tiene la configuración de Jest en su archivo package.json.
Si tiene un archivo jest.config.js , debe agregarlo allí; de lo contrario, el paquete.json será anulado (e ignorado) por este archivo de configuración. Así que en tu archivo jest.config.js :
module.exports = { // ... lots of props moduleDirectories: ["node_modules", "src"], // ... }