Reactjs 异步操作创建者-Jest和Axios-超时-未调用异步回调
我正在为我的异步操作创建者编写测试,但在测试运行时出现超时错误。我试过了Reactjs 异步操作创建者-Jest和Axios-超时-未调用异步回调,reactjs,unit-testing,react-redux,jestjs,axios,Reactjs,Unit Testing,React Redux,Jestjs,Axios,我正在为我的异步操作创建者编写测试,但在测试运行时出现超时错误。我试过了 莫西奥斯 增加jest超时 模拟适配器 我现在正在再次尝试Moxios myTest(编辑以反映更改): 我得到的错误是:Timeout-在10000ms超时内未调用异步回调… 通过查看我的代码和覆盖率,我可以看到承诺没有得到使用,因为.then()部分没有根据我的代码覆盖率执行。那么,我的测试用例是否有问题?我曾开玩笑地环顾过其他人对Axios的实现,但我总是遇到这个超时错误 正在测试的代码: export cosn
- 莫西奥斯
- 增加jest超时
- 模拟适配器
Timeout-在10000ms超时内未调用异步回调…
通过查看我的代码和覆盖率,我可以看到承诺没有得到使用,因为.then()部分没有根据我的代码覆盖率执行。那么,我的测试用例是否有问题?我曾开玩笑地环顾过其他人对Axios的实现,但我总是遇到这个超时错误
正在测试的代码:
export cosnt getData= () => {
return dispatch => {
dispatch(isFetching())
return dataApi.retrieveData().then(res => {
dispatch(updateData(res))
})
}
}
我注意到有两件事可能会导致此错误:
stubRequest
中不起作用,您应该指定部分或全部uri(为外部api端点添加主机名)
e、 g.moxios.stubRequest('/data/*',{status:201,response:mockData})
resolves
不应该在那里,因为。然后上面的
已经收回了承诺。
更新后应为:
expect(store.getActions()).toEqual(expectedActions)
您可以参考文件
redux.spec.js
。希望有帮助。您能发布您正在测试的代码,以便我们了解情况吗wrong@RedBaron,我添加了正在测试的代码。我也应该添加API函数吗?这是axiosThanks的标准GET,用于响应!我已经更改了stubRequest
url以类似于您的示例,并删除了。在expect
之后解析调用,但我仍然遇到相同的问题。您是否使用Axios在“retrieveData”函数中命中端点,因为moxios只能模拟Axios请求。如果通配符有效,请尝试在stubRequest中使用完整uri。谢谢您的帮助。由于我用Axios尝试的一切都不起作用,我最终切换到获取。
export cosnt getData= () => {
return dispatch => {
dispatch(isFetching())
return dataApi.retrieveData().then(res => {
dispatch(updateData(res))
})
}
}