如何对依赖状态,提交,调度和getter的Vuex操作进行单元测试(mocha)?

时间:2017-10-27 18:40:16

标签: unit-testing vue.js mocha chai vuex

我需要测试一个非常复杂的Vuex操作 - 不仅需要访问{commit},还需要访问整个shebang - {commit,dispatch,state,getters}。

我想在这里测试actions.getTotals()。你会如何在基于Mocha / Chai的框架中解决这个问题?

请记住,我不必从API中模拟任何内容 - 我将针对本地数据库进行测试。

const actions = {
  getTotals: ({ commit, getters, state, dispatch }, metadata) => {
    dispatch('startTimer')
    return api.totals({
      dateFrom: getters.startDate,
      dateTo: getters.endDate,
      clientId: state.filters.client.id,
      metadata: metadata
    })
    .then((response) => commit(types.UPDATE_TOTALS, response.data.result))
    .then(() => dispatch('stopTimer'))
  },
  startTimer: ({commit}) => commit('START_TIMER', Date.now()),
  stopTimer: ({commit}) => commit('STOP_TIMER', Date.now())
}

0 个答案:

没有答案