问题标签 [fetch-mock]

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 投票
0 回答
205 浏览

reactjs - Redux Jest 测试 fetchMock.getOnce 不工作

我正在使用 Redux、fetchMock、redux-mock-store 来编写一个 redux 动作测试。基于这个文档,https: //redux.js.org/recipes/writing-tests,我写了我的,但似乎 fetchMock 不起作用。redux 操作上的 get 请求使用原始值而不是 fetchMock 数据。

谁能告诉我哪里错了?

行动:

测试:

接口:

0 投票
0 回答
31 浏览

reactjs - 运行多个使用 fetch-mock 的单元测试时出现网络错误

我正在使用fetch-mock(v.9.11.0) 和 React 测试库来测试登录表单组件,一旦我有超过 2 个具有模拟获取响应的单元测试,我就会开始收到ECONNREFUSED错误,并且我的测试失败并显示Network Error信息。

我的一个单元测试的示例(i18nConfigOptions在文件开头声明):

我不认为这是一个设置/拆卸问题,因为我正在fetchMock单独声明该对象,并确保在每次测试后将其休息。

我可能还应该提到,如果我将选项中的delay参数设置为fetchMock0 以外的任何值,这些错误从第一次测试开始发生,这可能指向更广泛的问题。

也许最奇怪的是,我在 M1 MacBook Pro 上看到了错误,但在 2019 年的基于 Intel 的 MacBook Pro 上却没有。这可能是 M1 问题吗?也许测试在 M1 上执行得太快了?将测试拆分为单独的文件也可以防止错误发生,并且所有测试仍然通过。

显然发生了一些奇怪的事情,这让我很困惑。任何建议都感激不尽!

0 投票
0 回答
110 浏览

react-native - React Native & Jest:如何正确测试在 useEffect 中调用 fetch 的组件。“无法在未安装的测试渲染器上访问 .root”

我想在 Jest 中测试我的组件,并且它正确显示获取的数据。我有以下组件,它有一个useEffect调用函数的钩子getDatagetData获取到后端 API,将响应转换为json,然后返回json给组件。然后数据更新状态并显示在屏幕上。返回的数据是一个非常简单的数组,如下所示:[{ title: "test", id: 1 }, ...].

我想运行以下测试,尝试在global.fetch.

此测试失败并出现以下错误:

有人可以帮助我了解测试从useEffect钩子中获取数据的组件的正确方法Jest吗?谢谢。

0 投票
0 回答
167 浏览

javascript - 在 Jest 中运行测试用例时出现错误`TypeError: debug is not a function`

每当我运行 jest 时,我都会收到以下错误jest --coverage

Stackoverflow 说我还不能在我的帖子中添加图片。所以请打开链接查看错误。谢谢

点击这里查看错误截图

代码和配置如下:


Package.json


Jest Configuration


example.test.js

早些时候,该项目是用 javascript 编写的,这段代码运行良好,但现在它已迁移到 typescript。运行测试会引发上述错误。我一直在努力解决这个问题;没运气 :(

我也尝试使用 fetch-mock-jest 但无法正常工作。如果有人可以帮助我解决问题。那会很好!提前致谢 :)


调试更新

当我尝试调试 fetch-mock 时,看看发生了什么。得到了一些见解。当我单击第 1 行的调试时,它会打开debug/index.js,如我们在屏幕截图 1 中看到的那样: 屏幕截图 1

当我使用 VSCode 的调试器实际调试测试时,我看到,第debug1 行的变量值是空对象,即{}(令人惊讶),可以在屏幕截图 2 中看到: 屏幕截图 2

我仍然无法弄清楚为什么代码在实际运行时无法导入包内容。:(

0 投票
1 回答
42 浏览

javascript - 如何获取模拟准确的服务器错误?

问题:

取模

源JS文件:

"[ object object ]"因此,当我真正想要的是访问完整的模拟服务器错误时,我的 catch 语句返回一个无用的字符串。

0 投票
1 回答
22 浏览

reactjs - 如何测试异步动作?

我有一个动作:

我试图为这个动作写一个测试:

然后我收到一个错误:TypeError: Cannot read property 'then' of undefined 为什么会发生这种情况以及如何正确测试此操作?我的错误是什么?