Tengo una aplicación Vue2 Rails e intenté instalar Jest que funcionó. El problema es que no puedo probar mis componentes debido a este error:
● Test suite failed to run Configuration error: Could not locate module @/app.vue mapped as: /Users/name/project/project-name/src/app.vue. Please check your configuration for these entries: { "moduleNameMapper": { "/^@\/(.*)$/": "/Users/name/project/project-name/src/$1" }, "resolver": null } Lo cual tiene sentido , porque mi componente está en /Users/name/project/project-name/app/javascript/app.vue y no hay un directorio src en mi proyecto, porque es una aplicación de Rails.
Pero en mi paquete.json agregué
"jest": { "moduleNameMapper": { "^@/(.*)$": "<rootDir>/app/javascript/$1" }, "preset": "@vue/cli-plugin-unit-jest/presets/no-babel" } Lo cual obviamente no funciona. Poner todo en una carpeta src tampoco funciona. Siento que me falta una configuración crucial.
Editar : Bien, entré y cambié mi moduleNameMapper a mano, lo que definitivamente no es cómo se debe hacer esto, pero no pude hacer que funcionara de otra manera. En node_modules/jest-resolve/build/index.js en la línea 121 escribí
this._options.moduleNameMapper[0].moduleName = "/Users/name/project/project-name/app/javascript/$1";No tengo tiempo para averiguar el problema real en este momento. Volveré cuando tenga la solución real.