我遇到了一个非常普遍的问题。
我有2个动作-一个用于获取数据(安装组件时发生),另一个用于对获取的数据进行少量更改。
最低限度的代码:
const actions = {
fetchData({ commit ), ids) {
Api.getData(ids).then(res => {
/* do some magic with response */
const payload = /* serialized data */
dispatch('initAction', payload);
}
},
initAction({ commit }, payload) {
/* run few commits */
}
}
问题是我想测试在fetchData完成之后是否调用了initAction。
/*This is my mocked jest functions which matches the names in the Vuex store which I inject in my shallow rendered components.*/
actions: {
initAction: jest.fn().mockName('initAction'),
fetchData: jest.fn().mockName('fetchQuestions'),
},
/* actual testing code */
const wrapper = mount(Widget, options);
const { organizationId, feedbackId, categoryId } = wrapper.props();
expect(storeMock.modules.widget.actions.fetchData).toHaveBeenCalled();
expect(storeMock.modules.widget.actions.initAction).toHaveBeenCalled();
有人对此有任何提示吗?也许有人对此用例有任何示例?