我想为我的反应应用程序测试这个redux中间件代码:
export const dispatchActionFromPromise = next => (promise, name) => {
promise.then(data => {
next({
type: `${name}_RECEIVED`,
data
});
},
error => {
return next({
type: `${name}_ERROR`,
error
});
});
};
const dataService = store => next => action => {
next(action);
switch (action.type) {
case GET_ORGANISATIONS:
dispatchActionFromPromise(next)(ApiClient.getOrganisations(), GET_ORGANISATIONS);
break;
default:
break;
}
};
export default dataService;
我想测试承诺的dispatchActionFromPromise()
(ApiClient.getOrganisations()
返回承诺)。
这里有什么值得测试的,如果有的话,最好的测试方法是什么?
我正在使用mocha和chai进行测试。
答案 0 :(得分:0)
我想测试getOrganisations(),它返回一个promise
使用unitest,您只需测试一个功能。在您的情况下,您要测试的功能是getOrganisations()
。那么为什么我们关心调用该函数的上下文呢?
如果你想写一个在reactjs和redux中返回promise的函数mocha test,你可以编写模拟函数来返回假结果。但是我推荐使用另一个有趣的方法是使用redux saga,因为它使测试更容易。阅读有关传奇here的办公室文件,了解更多信息。