2017-08-25 42 views
0

我的团队最近开始致力于使用redux-promise的项目。在每个动作的有效载荷是爱可信调用,就像这样:如何在使用redux-promise和axios的项目中为异步操作编写测试?

function fetchUsers() { 
    return { 
     type: actionTypes.FETCH_USERS, 
     payload: axios.post('users') 
    } 
} 

终极版,承诺采取调度“的诉讼文书的副本与承诺的解析值”(他们的话)的照顾。该减速预期数据,而不是一个承诺:

function userReducer(state, action) { 
    switch (action.type) { 
     case actionTypes.FETCH_USERS: 
      return action.payload.data 
     default: 
      return state 
    } 
} 

应用程序按预期工作,但编写测试一直是个挑战。在此环境中编写测试的最佳做法是什么?我想为动作创建者和缩减器编写测试。

回答

-1

终极版测试具有下very nice tutorial here“异步操作创作者

基本上所有你需要做的是

  1. 使用像nock库嘲笑服务器响应
  2. 使用内置的redux-mock-store在调用动作后测试redux状态
+0

我已经看过本教程,但它似乎没有适用于减排承诺。每个操作有3个操作:fetchTodosRequest,fetchTodosSuccess和fetchTodosFailure。 Redux-promise负责分派“具有解决的承诺价值的行动副本”。 另外,nock似乎不能和axios一起玩,正如记录[这里](https://github.com/mzabriskie/axios/issues/305)。 –

相关问题