问题标签 [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 回答
1044 浏览

reactjs - Jest 如何在从表单向服务器提交数据时测试错误?

考虑以下代码:

当发布请求失败时,我正在尝试测试error状态是否设置为适当的值。这是到目前为止的测试:

0 投票
0 回答
1304 浏览

reactjs - 如何修复使用 moxios 测试 react/redux 应用程序的“网络错误”

我正在开发一个包含后端 API 和 react/redux 前端应用程序的新项目。我正在使用 jest/enzyme/moxios 设置我的第一个测试。

我的问题是,当 api 服务器未运行时,测试返回“网络错误”,但如果服务器启动,所有测试都可以。

这是我的笑话测试(CRA):

似乎 moxios 没有按预期工作,但我找不到原因......我还检查了 axios 适配器是 moxios:

0 投票
2 回答
346 浏览

vue.js - Moxios Stubrequest 与正则表达式

我曾尝试使用带有正则表达式的 moxios Stubrequest,comments/.*/vote但它不起作用。.* 填充有标识符(整数)。知道如何进行这项工作吗?谢谢

代码

0 投票
1 回答
465 浏览

unit-testing - 当我使用自定义 axios 实例时,与 moxios 的玩笑不断超时

我有一个使用自定义 axios 实例的服务,我正在尝试测试该实例,但我不断收到错误消息。

这是错误:

这是测试:

这是我要测试的代码:

我试过缩短开玩笑的超时时间,但没有奏效。我认为是 moxios 没有正确安装 axios 实例,但我找不到任何原因。

任何帮助表示赞赏,在此先感谢。

0 投票
1 回答
104 浏览

reactjs - 如何在 React axios 中对这个函数进行开玩笑测试?

伙计们,我在 React 中创建了一个服务,我需要测试这部分服务,我正在使用 axios 和 Jest 来执行此操作。我在 React 中有下一个代码:

我不需要返回承诺,因为所有工作都是由callback()函数完成的。

这是我在 Jest 中的代码:

它有效,但仍需要增加分支覆盖率。

谢谢你们的帮助:D

0 投票
1 回答
1022 浏览

javascript - 如何模拟 axios 类

我正在为我的异步操作编写测试。我已将我的 axios 调用抽象为一个单独的类。如果我想测试我的异步 redux 操作,我该如何编写一个模拟api.js以便sampleAction.test.js通过?谢谢!

api.js:

sampleAction.js: 从 './api' 导入 Api;

sampleAction.test.js:

0 投票
1 回答
1062 浏览

node.js - Moxios 在 NodeJs 中模拟外部端点

我正在尝试Twilio通过库模拟单元测试中的外部端点Moxios。我还使用SuperTest库来提供测试的例外情况。

我的前端调用的内部端点是:

并且是一个函数,它调用我试图模拟validatePhoneNumber的外部端点,而不是在测试期间调用实际端点:Axios

还有我的单元测试代码:

如果在我的情况下Moxios是模拟任何外部端点的正确方法,我会收到以下错误:

我将超时时间增加到 10000,但仍然出现相同的错误。感谢任何提示或帮助。

0 投票
1 回答
1245 浏览

reactjs - 在行为回调中包装异步 moxios 调用

我正在尝试使用钩子测试反应功能组件。useEffect 挂钩调用第三方 API,然后在返回时调用 setState。

我进行了测试,但不断收到警告,说明组件的更新未包含在操作中。

我遇到的问题是期望在 moxios.wait 承诺中,因此我无法将其包装在 act 函数中,然后对其结果进行断言。

测试通过了,但我知道不将更新状态的代码包装在 act 函数中可能会导致误报或未发现的错误。我只是想知道我应该如何测试这个。

我已经尝试在 react 16.9.0 alpha 版本中使用新的 async await act 功能,以及我在许多 github 问题(如 jest setTimers)中发现的许多建议,但似乎没有一个可以解决问题。

组件

考试

测试通过但我收到以下警告

0 投票
1 回答
114 浏览

reactjs - 如何使用 axiosInstance.get('url').then(...).finally 修复 moxios 测试失败不是一个函数

嗨,我正在尝试在 moxios 的帮助下编写一个简单的测试用例,我在多个系统(pc)中设置了项目,并且代码与 git 同步。问题是只有一个系统的测试失败。它适用于除一台以外的所有电脑。

我试过 import * as axios from 'axios';

并且还尝试清除 npm 缓存但没有用

你能告诉我哪里可能有问题吗?npm 或节点版本是否会影响测试用例,因为它对于不同的 pc 是不同的。我已经在所有系统中安装了相同的依赖项,但在不同的时间点,所以可能是次要版本升级可能会破坏测试代码。如果还有其他可能性,请帮助我。

0 投票
1 回答
1074 浏览

reactjs - 如何在运行测试的后期部分之前使用 moxios 进行反应测试以更新 DOM

我正在尝试使用 jest 和 react-testing-library 为组件编写测试。测试需要等待 useEffect 更新 axios 请求后的状态。我正在使用 moxios 模拟 api 调用,但我无法让测试等待 moxios 返回,然后再触发单击事件处理程序,该处理程序再次向 api 发送删除请求。测试失败,说明我尝试单击的 DOM 元素尚不存在,因为它仅在 useEffect 请求更新后生成。

我尝试使用 flushEffect 等待,我也尝试将点击包装在初始 moxios 请求中,但两者都不起作用

我已经删除了任何不相关的代码。

这是组件。加载后,它会向 api 发送一个 get 请求,以获取一些好处的 json 响应。BenefitsTable 组件接收好处,并为每个好处生成一个包含删除按钮的表。我正在尝试首先加载好处,然后单击删除按钮。在加载之前不存在删除按钮。

我的测试如下:

输出是Unable to find an element by: [data-testid="deleteButton1"],我知道这是因为 axios 请求是异步的,但是我尝试将 fireevent 和后续 axios 请求包装在第一个 axios 请求的 then 子句中,尽管测试通过了,但它以任何值通过,这意味着它是'没有被正确处理。