我的团队最近开始研究一个使用redux-promise的项目。每个动作中的有效负载是一个 axios 调用,如下所示:
function fetchUsers() {
return {
type: actionTypes.FETCH_USERS,
payload: axios.post('users')
}
}
Redux-promise 负责分派“具有已解决的承诺值的操作副本”(他们的话)。reducer 期望的是数据,而不是承诺:
function userReducer(state, action) {
switch (action.type) {
case actionTypes.FETCH_USERS:
return action.payload.data
default:
return state
}
}
该应用程序按预期工作,但编写测试一直是一个挑战。在这种环境中编写测试的最佳实践是什么?我想为动作创建者和减速器编写测试。