如何以承诺测试vuex动作

时间:2019-04-04 10:45:18

标签: javascript jestjs vuex

我正在使用玩笑来研究TDD,并尝试测试Vuex的动作。这是我的代码

动作

actions: {
  FETCH_ITEM_LIST({ commit }) {
    axios.get('/item')
    .then((data) => {
      commit('SET_ITEMS', data.data.items)
    })
  }
}

test.spec.js

import actions from '@/store/actions'

it('FETCH_ITEM_LIST', () => {
  const commit = jest.fn()

  actions.FETCH_ITEM_LIST({ commit })

  expect(commit).toHaveBeenCalledWith('SET_ITEMS')
})

由于FETCH_ITEM_LIST不返回promise object,所以

it('FETCH_ITEM_LIST', async () => {
  ...
  await actions.FETCH_ITEM_LIST({ commit })
  ...
})

没有任何意义。我所指的是the example

我该怎么做?谢谢

0 个答案:

没有答案