반응형
vuex 스토어의 동작에서 농담으로 변수를 모의하는 방법
다음과 같은 JS 코드가 있습니다.
const Repository = axios.create( {
baseURL: process.env.VUE_APP_API_HOST
} );
const state = { ... }
const getters = { ... }
const mutations = { ... }
const actions = {
fetch: async ( { commit, getters }, { apiPath, id } ) => {
const response = await Repository.get( apiPath );
commit( 'setArticleList', { response.data, id } );
commit( 'changeApiStatus', { status: 'success', id } );
}
};
export const articleList = {
namespaced: true,
state,
getters,
mutations,
actions
};
다음과 같은 농담 코드가 있습니다.
import { store as store2 } from './store';
describe( 'store article_list test: ', () => {
let store;
beforeEach( () => {
store = new Vuex.Store( store2 );
} );
describe( 'test actions', () => {
test( 'get value correctly', async () => {
const apiPath = 'api/v1/article_list.json';
const id = 1;
await store.dispatch( 'articleList/fetch', { apiPath, id } );
} );
} );
} );
스토어 코드:
store.js
import Vue from 'vue';
import Vuex from 'vuex';
import { articleList } from '@/store/modules/article_list';
Vue.use( Vuex );
export const store = {
modules: {
articleList
}
};
export default new Vuex.Store( store );
await store.dispatch( 'articleList/fetch', { apiPath, id } );
현재 이 코드에는 다음이 있습니다.Error: Error: connect ECONNREFUSED 127.0.0.1: 8080
오류
저는 이 부분을 조롱하고 싶습니다.const response = await Repository.get( apiPath );
하지만 저는 vuex store를 실행하는 변수를 농담으로 조롱하는 방법을 전혀 모릅니다.
이 부분을 조롱할 줄 알면 알려주세요.
제 질문을 읽어주셔서 감사합니다.
저는 moxios를 사용하여 제 xios 요청을 조롱하고 있습니다. 꽤 잘 작동합니다. 그것은 여러분이 자신의 응답 데이터를 설정할 수 있게 해줍니다.
언급URL : https://stackoverflow.com/questions/56862287/how-to-mock-variables-in-action-of-vuex-store-with-jest
반응형
'programing' 카테고리의 다른 글
테이블 SQL 서버의 상위 1개 레코드 업데이트 (0) | 2023.08.05 |
---|---|
Java EE 6.0과 비교한 봄 3.0 (0) | 2023.08.05 |
jQuery: 위치()와 오프셋()의 차이 (0) | 2023.08.05 |
TLS에 대한 클라이언트 및 서버 인증서를 선택해야 하는 이유 (0) | 2023.08.05 |
어레이의 정확한 복제 사본을 만들려면 어떻게 해야 합니까? (0) | 2023.07.31 |