Heredé un código base que se creó usando @vue/cli originalmente no había una prueba unitaria en el proyecto y ahora estoy tratando de agregarlo, hasta ahora he creado una prueba muy simple y también agregué bromas a la aplicación.
Mi prueba simple se ve así,
import { createLocalVue, mount, shallowMount } from '@vue/test-utils'; import ModalRefactored from '../../src/components/modal2/ModalRefactored.vue'; const localVue = createLocalVue(); describe('ModalRefactored', () => { let storeMocks, wrapper; beforeEach(() => { // Create a fresh store and wrapper instance for every test case. wrapper = shallowMount(ModalRefactored, { localVue }); }); test('It should render a modal when open', () => { }); test('It should not render an overlay when not open', () => { }); test('It should close whn the user clicks the close button', () => { }); test('It should close when the user presses the esc key', () => { }); });Mi configuración de broma se ve así,
module.exports = { preset: '@vue/cli-plugin-unit-jest' } Cuando ejecuto yarn test:unit obtengo lo siguiente,
ests/unit/ModalRefactored.spec.js● No se pudo ejecutar el conjunto de pruebas
Cannot find module 'core-js/modules/es.error.cause.js' from 'Api.js' However, Jest was able to find: './Api.d.ts' './Api.js' './Api.js.map' You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['js', 'jsx', 'json', 'vue']. See https://jestjs.io/docs/en/configuration#modulefileextensions-array-string However, Jest was able to find: '../core/IPPComponent.js' You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['js', 'jsx', 'json', 'vue']. See https://jestjs.io/docs/en/configuration#modulefileextensions-array-string 10 | this.method = ""; 11 | this.code = 0; > 12 | this.statusCode = 0; | ^ 13 | this.httpCode = 0; 14 | this.error = {}; 15 | this.httpText = ""; at Resolver.resolveModule (../../node_modules/jest-resolve/build/index.js:259:17) at Object.<anonymous> (../js/dist/Api.js:12:1) ¿No tengo idea cual es el problema? ¿Supongo que usar el shallowMount ejecutaría la prueba de forma independiente?
El archivo core-js/modules/es.error.cause.js es una adición reciente al módulo core-js. Me encontré exactamente con el mismo problema con un proyecto Vue.js. La versión de core-js con la que experimenté el error fue 3.16.0 .
La actualización de la versión core-js a la versión actual (3.21.1) solucionó el problema.
Lo extraño que experimenté es que agregué los archivos package.json de todos los módulos en mi directorio node_modules y no pude encontrar ninguna dependencia de core-js con una versión más nueva que la 3.16.0. Además, solo recibí este error cuando ejecuté mi conjunto de pruebas en Windows, no cuando lo ejecuté en Linux.