我的团队最近开始研究使用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
}
}
该应用程序按预期工作,但编写测试一直是一个挑战。在这种环境下编写测试的最佳实践是什么?我想为动作创建者和减速器编写测试。
答案 0 :(得分:-1)
Redux测试中有一个very nice tutorial here' Async Action Creators'
基本上你需要做的就是
nock
之类的库来模拟服务器响应redux-mock-store
在调用操作后测试redux状态