He estado siguiendo las guías escolares de Vue sobre la implementación de Jest con Vue para comenzar a escribir algunas pruebas unitarias.
Hasta ahora he instalado jest, jest-serializer-vue, vue-template-compiler.
module.exports = { verbose: true, roots: [ "<rootDir>/src/", "<rootDir>/src/specs/" ], moduleFileExtensions: ['js', 'vue'], moduleNameMapper: { '^@/(.*)$': '<rootDir>/src/$1', }, transform: { "^.+\\.js$": "babel-jest", "^.+\\.vue$": "vue-jest", }, snapshotSerializers: [ "<rootDir>/node_modules/jest-serializer-vue" ] }Al escribir mi primera prueba, se está construyendo con éxito.
import TestComponent from '../src/components/test'; test('mount a vue component', () => { console.log(TestComponent); });Pero cuando intento montar el componente Vue, comienza a fallar con el siguiente error:
FAIL src/specs/test.spec.js ● Test suite failed to run TypeError: Cannot read property 'shallowMount' of undefinedEl archivo de prueba real se ve así:
import TestComponent from '../src/components/test'; import { shallowMount } from '@vue/test-utils'; test('mount a vue component', () => { const wrapper = shallowMount(TestComponent); console.log(wrapper); });No entiendo por qué sucede esto, y no hay información (al menos no pude encontrar alguna) de por qué está fallando. ¿Alguien me puede ayudar?
PD: Mi proyecto NO usa vue-cli.