问题标签 [moxios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
791 浏览

reactjs - 如何使用moxios在同一个测试中拦截两个axios请求

我正在尝试在我的应用程序中测试删除按钮。当应用程序初始化时,它会向服务器发出 axios 请求以获取好处列表。单击删除按钮时,会发出另一个请求。出于某种原因,我的测试不会拦截第二个 axios 请求。

我试图存根初始请求,但我仍然遇到同样的问题。

最初的请求是

单击按钮时调用的函数是

测试写为

我希望第二个 moxios.wait 拦截删除请求。代码本身可以工作,当单击按钮时,它会通过 axios 请求向服务器发送删除请求。

我还确认测试本身确实调用了该函数,因为为了测试它,我制作了一个虚拟元素并更新了它,它确实更新了测试。

我想知道这是否是 moxios.wait 的工作方式,但我找不到任何建议我这样做的方式会是一个问题。

0 投票
1 回答
1442 浏览

reactjs - 在 moxios 拒绝时不调用 catch

我正在尝试使用 moxios 和 jest 测试对我的 axios 请求调用之一的拒绝。方法调用(调用 axios.get)会抛出错误,但不会调用 catch 块。

我的测试代码片段如下所示,

getRaw 方法,

API_WRAPPER 方法,

errorHandler 方法,

由于未调用 catch 块,因此我无法断言我的测试用例。如何调用 catch?

0 投票
1 回答
535 浏览

reactjs - axios 获取的集成测试,当我在 jest 的 `it` 函数中应用 `done` 作为回调时失败

我正在尝试为我的集成测试中的网络获取运行 Jest 测试。它使用 beforeEach 创建了一个虚假的网络获取响应,它应该返回一个长度为 2 的响应。当我从以下代码中删除 done 时,测试运行良好,但是只要我用作done回调并且似乎测试失败并且错误表明只返回了 1 的长度,而预期的长度应该是 2。

它使用 Enzyme 和 full dom 来测试 3 个组件的集成,我不使用的时候测试很好done,但是我一使用done它就失败了。

0 投票
1 回答
302 浏览

react-native - 使用 Jest 和 Moxios 在 redux-thunk 中测试并发请求

我在使用并发 API 调用测试函数时遇到问题。这是我要测试的依赖于 redux-thunk 的代码:

它向 API 发送并发请求,然后在成功时将操作分派到 redux 存储。这些请求是独立的,所以我真的不在乎哪个先执行。

但是,当我尝试使用 moxios 和 redux-mock-store 测试此代码时,我只能从我的模拟商店中的第一个请求中分派操作:

在动作中,无论我设置什么超时,最后我都只会得到 LOAD_EVENTS 动作。我究竟做错了什么 ?

0 投票
1 回答
130 浏览

reactjs - 使用 thunk 和 axios 时 Moxios 总是重新调空

我一直试图模拟我的 axios 函数,该函数总是返回空:

登录操作:

测试:

我得到:

为什么received返回是空的?

0 投票
0 回答
169 浏览

reactjs - Moxios 不使用存根请求

我正在学习一门 udemy 课程,它在测试部分。在其中,讲师用于moxios存根请求。但是,它没有使用存根响应。存根响应应该只返回 2 个项目,而实际 API 调用返回 500。所以我的测试是命中实际 api 而不是存根请求。我已经尝试调用在 test 和 beforeEach 函数中模拟响应。

关于我做错了什么有什么建议吗?

0 投票
1 回答
179 浏览

javascript - 使用 window.axios 时 moxios 无法正常工作

我有一个 laravel 项目。我正在尝试测试一个 vue 组件,但它显示错误:这是我的测试:test.spec.js

这是组件:Component.vue

并且在测试的时候显示:axios没有定义,但是在resources/js/bootstrap.js中全局定义了

它适用于浏览器!

然后我在 Component.vue 中添加了这个

现在我的测试工作正常。但如果删除它,它会再次失败。我只是想知道为什么会发生这种情况,我不确定是否必须添加import axios from 'axios';对每个使用 axios 进行测试的组件

0 投票
1 回答
212 浏览

jestjs - 使用 Moxios 在一个函数中模拟多个 api 调用

我正在为我的服务类编写一个测试用例。我想在一个函数中模拟多个调用,因为我正在从一个函数进行两次 API 调用。我尝试关注但它不起作用

const nextRequest 始终未定义

它抛出错误TypeError: Cannot read property 'respondWith' of undefined

这是我的服务班

0 投票
1 回答
901 浏览

javascript - 测试一个函数是否在另一个函数 Jest 中被调用

我正在编写一个 Redux 操作来完成一个单元测试,但是在测试中的模拟函数调用有问题。我相信我已经completeRegistration正确地模拟了,通过导入声明它的模块,然后从模块引用中模拟函数,但是 Jest 说尽管控制台日志语句确认verified.data.success条件是true.

任何想法我做错了什么?谢谢

auth.js

auth.test.js

输出

0 投票
1 回答
192 浏览

javascript - 代码覆盖率不适用于 Axios 的 Jest 测试

我正在使用Jestmoxios为我的异步函数编写测试:

测试:

我的测试通过了,但是当我检查 Jest 生成的代码覆盖率报告时,它显示该thengetData未被覆盖/调用。我怎样才能解决这个问题?