问题标签 [axios-mock-adapter]

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 回答
1980 浏览

reactjs - 使用 axios-mock-adapter 测试 API 调用使用效果

我已经解决这个问题几天了,相信我已经接近解决方案了。我正在尝试模拟在我的useEffect

如果setOrgTitle钩子运行,我将能够通过更改文本字段来检测到这一点。我想在这里测试一下:

运行测试时,我收到未处理的承诺拒绝警告。此外,当我尝试控制台日志时,wrapper我可以看到 API 调用没有使用我正在应用的测试标头,所以我很确定 API 调用没有使用我的模拟。

任何帮助,将不胜感激。

0 投票
3 回答
1923 浏览

javascript - 使用 axios-mock-adapter 验证请求?

我使用来自axios-mock-adapter. 但是,我试图断言 get 函数已被有效调用,因此我创建了一个间谍。由于某种原因,它似乎不起作用,我得到:

这是我的测试:

我实际上是在尝试使用此处回答的方法。

更新:这是 getPublications 的代码

}

0 投票
2 回答
1147 浏览

node.js - 如何断言应用程序使用 POST 请求向 API 服务器发送正确的数据

我正在编写与 API 服务器对话的 React.js 应用程序。我已经阅读了大量关于如何模拟这些调用并从 API 发送一些虚假响应的文章。我可以使用@testing-library/react 进行测试,我可以轻松地使用 axios-mock-adapter 模拟 axios 并使用 HTTP GET 方法测试获取请求。但是我找不到任何地方如何确保我的应用程序在发送一些 POST 请求时向 API 发送正确的数据,即我的应用程序发送带有例如“id”字段或“name”字段设置为“abc”的 json 有效负载,或类似的东西。

我是 React.js 的新手。请告知如何使测试断言应用程序发送到 API 的内容。是否可以?

假设我有一个名为 doSomething 的函数,如下所示,通过某个按钮的 onClick 调用。

上面的 REST_API 是 axios 实例。

如何确保我(或其他一些开发人员)没有打错字,也没有在请求的有效负载中放入“userId”而不是“user_id”?

0 投票
1 回答
663 浏览

unit-testing - axios-mock-adapter error 错误:预检响应具有无效的 HTTP 状态代码 403

我正在尝试通过模拟 axios api 调用来编写单元测试。这是 axios-mock-adapter 配置

当我触发操作时,它会调用此 API

获取:“ https://example.com/searchuser/user/id/560/

这是完整的错误日志

有人可以帮助我了解如何模拟预检调用吗?我需要将 jest 与 jsdom 一起使用,因为其他单元测试需要模仿浏览器行为。搜索了很多,但似乎无法找到解决方案。

0 投票
1 回答
3437 浏览

reactjs - axios-mock-adapter onGet 模拟数据无效

我正在尝试使用 axios-mock-adapter 测试 axios 调用。我遇到了以下问题:测试中的 API 调用总是响应真实数据,而不是我用 mock.onGet 模拟的数据。ak receivedActions 总是来自真正的 API 调用,而不是使用 mock.onGet 模拟的 expectedActions。这是操作代码(searchAction.js):

我的测试看起来像这样(searchAction.test.js):

任何人都遇到过类似的问题,或者可以给我一些建议。提前感谢。

0 投票
0 回答
327 浏览

javascript - 如何从异步函数返回值到它的父函数,所以父函数也可以返回这个值?

我是 Javascript 的初学者,我正在构建一个应用程序来提高我的技能。在为该应用程序制作登录系统时,我在从“主”父函数返回所需数据时遇到问题。

这是具有 2 个“子”功能的主要功能:

基本上,该函数loginProcess是在 async 函数中使用的函数loginUser。两者都是 main 函数的子函数mock.onPost('/api/account/login').reply((config)

我需要主函数mock.onPost('/api/account/login').reply((config)也返回子函数函数返回的值loginProcess,不知道该怎么做。

我知道子函数是异步的,据我了解,主函数在异步完成运行之前完成“运行”并返回“空”值。但我无法弄清楚如何做到这一点。

我将不胜感激。如果我没有正确解释自己,请告诉我。

0 投票
1 回答
672 浏览

reactjs - 如何使用 Jest 和 Enzyme 在 useEffect 中测试 axios 获取请求?

我正在使用 axois-mock-adapter、jest 和酶测试我的 axios 获取请求。运行测试时,我的控制台出现 404 错误。一旦我将 axios 调用放在 useEffect 中,它就开始发生了。

关于我可能做错了什么的任何建议?提前致谢

应用程序.js

应用程序.test.js

错误:错误:请求失败,状态码为 404

0 投票
1 回答
784 浏览

node.js - Jest/Node Axios 测试抛出错误

使用我的 lambda/node 代码运行 Jest 测试时遇到问题。当我运行 index.js 时,Axios 可以正常工作。

这是我的 index.js

这是我的 index.test.js

我用 index.test.js 尝试了多种方法。我什至去掉了所有的嘲笑,并正在测试 get 是否可行。它不是。当我运行 npm test 时,我得到“无法验证第一个证书”。

当我执行节点 index.js 时,代码不会引发该错误。我怀疑 jest 有某种类型的内置处理程序来处理该错误,或​​者可能是 Axios?

任何想法都会很棒。

谢谢,蒂姆

0 投票
0 回答
1573 浏览

reactjs - 在 React 组件笑话测试中模拟 Axios 实例和拦截器

我正在测试一个调用 API 来用数据填充表的组件。尽管使用了 axios,但 axios 被包装在一种方便的方法中,以便在通过拦截器执行请求之前填充标头。我已经尝试过 axios-mock-adapter,但它不起作用。我仍然是测试 React 的新手,我对如何模拟从 api/axios 返回的数据一无所知。如何模拟 api 调用来模拟数据以使我的测试通过?

这是我的简单测试:

这是 axios 包装器(api.js):

这是我要测试的组件的简化:

更新解决方案:

为了模拟作为我的 API 的 axios 包装器,我必须模拟 api 模块并返回一个已解决的承诺,如下所示:

0 投票
1 回答
98 浏览

reactjs - 使用 post 方法提交表单时如何模拟错误消息?

我刚刚加入的项目没有使用后端的 API,而是必须通过 Axios-mock-adapter 自己创建模拟数据。我正在做一个修改密码的表格,如果输入正确,提交就会显示成功,如果输入不正确,则会显示错误(例如输入不为空,密码不匹配... ) 怎么做?