测试ReactJs中使用的同构获取
Testing isomorphic-fetch used in ReactJs
我有以下函数,我想用摩卡和柴来测试它,期望。
这里的"获取"和"调度"是一个函数。"fetch"用于对服务器进行 ajax 调用
function fetchMetadata() {
return (dispatch) => {
fetch('/json/metadata').then(
(result) => {
if (result.status === 200) {
return result.json();
}
throw "request failed";
}
).then(
(jsonResult) => {
dispatch(jsonResult);
}
);
}
}
我正在尝试测试如下,但我无法让测试失败,因为错误被承诺吞噬了!
"fetchMock"是一个模拟"fetch"函数的函数,这样我们实际上就不会调用服务器来取回数据。
describe('Should work', ()=>{
before(()=>{
fetchMock.mock('^/json/metadata', {body1:"testing"})
});
it.only('should fetch metadata when fetchMetadata is called ', function(){
let returnedFetchMetadataFn = fetchMetadata();
let mockDispatch = (argument)=>{
expect(argument).toBe('SET_METADATA1');
};
returnedFetchMetadataFn(mockDispatch);
});
});
我做错了什么或错过了什么?
查看承诺同步库。它是承诺的同步模拟,它允许指定在成功/错误/最终回调中忽略哪些断言错误。
相关文章:
- 同构reactjs-cdn资产
- renderReact/Rect Router+Node/Express.js的服务器端/同构渲染中未定义renderP
- 同构获取不适用于外部请求
- Javascript 同构三元运算符无法正确解析
- 同构反应.js无通量
- 在同构应用程序中使用redux
- 单元测试通用/同构节点包文件
- 如何在同构应用程序中通过节点提取传递请求cookie
- 同构JS应用程序中的环境变量:Webpackfind&代替
- 同构ReactJS-如何为服务器端和客户端共享代码
- 同构反应.js&iso http
- `同构的fetch`response.json()方法总是抛出意外的输入结束错误
- 在同构的React web应用程序中,选择服务器渲染的最佳方式是什么
- 测试ReactJs中使用的同构获取
- 角度 2 是同构的吗?将来会不会
- 如何将同构的 commonJS 代码与 webpack 捆绑在一起
- 同构反应-路由器-冗余同步历史中间件
- 节点.js同构反应示例错误
- ReactJS 同构应用程序和系统服务器时间
- 在同构 Redux 应用程序中设置 cookie 的位置