Tengo un módulo Vuex con espacio de nombres que estoy intentando probar usando Jest, después de hacer la mutación a mi estado simulado, no parece cambiar.
Aquí está mi mutación addEvents
addEvents: (state, infos) => { try { state.events = state.events.concat(infos); } catch (error) { console.error("[ERR vuex event set] ", e.message); }evento.prueba.js
import { createLocalVue } from '@vue/test-utils'; import Vuex from 'vuex'; //store import event from '../index.js' const localVue = createLocalVue(); localVue.use(Vuex); describe('event', () => { //intial state const state = { events: [] } const newEvent = { text: 'Hello', eventCode: 'importantEvent' } //mutate event.commit('event/addEvents', newEvent); expect(state.events).toContainEqual(newEvent) }) })Estoy importando desde el índice de mi tienda que tiene muchos módulos. Creo que estoy haciendo referencia a mi tienda deseada correctamente. Cuando traté de importar el módulo específico que quería probar, mi prueba no pudo encontrar mis mutaciones.
Vuelve mi salida de broma
FAIL vue/vuex/modules/event.test.js ● event › encountered a declaration exception expect(received).toContainEqual(expected) // deep equality Expected value: {"eventCode": "importantEvent", "text": "Hello"} Received array: [] 20 | //mutate 21 | event.commit('event/addEvents', newEvent); > 22 | expect(state.events).toContainEqual(newEvent) | ^ 23 | }) at Suite.<anonymous> (vue/vuex/modules/event.test.js:22:24) at Object.<anonymous> (vue/vuex/modules/event.test.js:9:1)Gracias a Estus Flask por ayudarme a descubrir que mi problema no hacía referencia a la tienda correctamente. Este es el código que tengo que funciona, incluida mi ruta de reinicio que ya existía. Cambié el nombre de mi importación de eventos a almacenar para mayor claridad.
import { createLocalVue } from '@vue/test-utils'; import Vuex from 'vuex'; //store import store from '../index.js' const localVue = createLocalVue(); localVue.use(Vuex); describe('event mutations', () => { beforeEach(() => { //resets state beforeEach store.commit("event/reset"); }); it('adding events works', () => { const newEvent = { text: 'Hello', eventCode: 'importantEvent' }; //mutate store.commit('event/addEvents', newEvent); expect(store.state.event.events).toContainEqual(newEvent); }); it('store resets properly between tests and reset works', () => { expect(store.state.event.events).toHaveLength(0); }); })