我是新来的反应并尝试使用 Jest 编写我的第一个测试用例。我必须模拟一个 fetch 响应。我正在使用 jest-fetch-mock。但是该调用将进行实际提取,并且返回的数据未定义。
包.json:
“开玩笑取模拟”:“^2.1.2”
setupTest.js 文件
global.fetch = require('jest-fetch-mock');
实际api调用方式:
static fetchUserInfo(){
return dispatch => {
fetch('https://localhost:55001/api/userInfo')
.then(this.httpResponseHandler.handleHttpResponse)
.then ((resp) => resp.json())
.then(data => dispatch(this.onUserInfoGetSuccess(data)))
.catch( error => {
dispatch(this.onFetchFailure(error));
});
};
}
测试用例
it('should get user info', () => {
fetch.mockResponse(JSON.stringify({
"name": "swati joshi",
}
));
let data = ActualDataApi.fetchUserInfo();
console.log(data);
expect(data.name).toEqual('swati joshi');
}
与fetchUserInfo
调度程序(使用 Redux 和 React)一样,那么如何模拟它?提前致谢!