UFO ET IT

Vuex 작업에서 여러 커밋을 테스트하는 방법

ufoet 2023. 6. 22. 23:20
반응형

Vuex 작업에서 여러 커밋을 테스트하는 방법

저는 현재 Vuex에서 테스트를 진행하고 있습니다.다음 작업이 있습니다.

import { fetchProfile } from '../api'

export const getProfile = ({ commit }) => {
  return fetchProfile()
   .then(async (profile) => {
    await commit(types.SET_AUTHENTICATED, true)
    await commit(types.SET_PROFILE, profile.user)
   })
}

그리고 다음 테스트를 수행합니다.

jest.mock('../../src/api')

describe('task actions', () => {
  it('fetchProfile commits user profile returned by api', async () => {
    const profile = { first_name: 'John', last_name: 'Doe' }
    fetchProfile.mockResolvedValue(profile)
    const commit = jest.fn()
    await actions.getProfile({ commit })
    expect(commit).toHaveBeenCalledWith(types.SET_AUTHENTICATED, true)
    expect(commit).toHaveBeenCalledWith('SET_PROFILE', profile)
  })
})

다음과 같은 경우 실패합니다.

"SET_PROFILE"을 인수 1로 지정했지만 "SET_AUTHENTICATED"로 호출되었습니다.

제가 두 번째 예상치를 언급하면 테스트는 통과합니다.

그러나 두 커밋이 모두 올바르게 수행되었는지 테스트하려면 어떻게 해야 합니까?어떤 도움이나 지도를 해주시면 감사하겠습니다.

감사해요.

저는 각 기대의 시작에 기다림을 추가했고 이제 작동합니다!!

언급URL : https://stackoverflow.com/questions/53831224/how-to-test-multiple-commits-in-a-vuex-action

반응형