Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

119
Views
La prueba de mutaciones de Vuex con el estado Jest no cambia

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)
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

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); }); })
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!