问题标签 [react-hooks-testing-library]

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

reactjs - 使用 Jest 和 React Hooks Library 测试反应钩子状态

我导航组件然后将在侧边栏中切换状态以及打开和关闭菜单,然后尝试在代码覆盖范围内获得此通过。当我登录我的测试时,我的状态一直显示为未定义。不知道如何在这里解决这个问题。

组件.js:

测试.js:

0 投票
1 回答
236 浏览

reactjs - 在测试期间从 React 自定义钩子读取属性时出错

我正在尝试为 React 创建一个自定义钩子,以便我可以隔离和测试视图逻辑。这是我的钩子的简化版本:

我的测试如下所示:

当我的测试执行时,我收到一个错误,因为 set_category 属性不存在:

为什么无法从自定义挂钩访问 set_category 函数?

0 投票
1 回答
1129 浏览

javascript - 在自定义钩子中测试 fetch.catch

我有这个自定义钩子:

如果会有无效响应,我想测试捕获错误。这样,应该会出现错误消息,这要归功于showErrorMessage(). 我有这个测试:

但是,我收到了一个错误:

超时 - 在 jest.setTimeout.Timeout 指定的 5000 毫秒超时内未调用异步回调 - 在 jest.setTimeout.Error 指定的 5000 毫秒超时内未调用异步回调

我在这里做错了什么?我认为它与 有某种关系await waitForNextUpdate();,但我真的不确定以及如何管理它。

0 投票
0 回答
41 浏览

reactjs - 测试期望事件的反应钩子

我正在编写一个钩子库,并想使用react-hooks-testing-library编写单元测试。我有一个帮助表单状态“use-form”的钩子,它只是推荐模式的包装,用于从 React 文档中更新表单状态:

到目前为止我的测试 -

如何将事件传递给钩子的 handleChange 函数?

0 投票
1 回答
38 浏览

react-hooks-testing-library - 如何查询钩子响应的结果?

是否可以查询渲染钩子时返回的DOM?

0 投票
1 回答
461 浏览

javascript - 如何在反应js中检查axios get函数是否被调用?

我正在尝试测试以下功能,或者换句话说,我正在尝试编写以下功能的单元测试用例。但是我遇到了错误_axios.default.get.mockResolvedValueOnce is not a function

这是我的代码 https://codesandbox.io/s/awesome-jepsen-5os4e?file=/src/usetabData.test.js

我这样写单元测试用例

0 投票
2 回答
809 浏览

reactjs - 无法构建测试以使用 OnClickOutside 自定义挂钩

我构建了一个自定义钩子,我想从中构建测试,但我不知道从哪里开始我希望你能帮我解释几件事:

1.我如何在测试中捕获 mousedown 2.我如何使用 useRef 并将其分配给当前值 如果您能帮助我并向我展示代码将非常有帮助,因为我有时会坐在上面

下面是自定义钩子和我实现自定义钩子的代码提前感谢

这是使用它的组件:

0 投票
1 回答
1896 浏览

reactjs - @testing-library/react-hooks 调用 setTimeout 两次

这是我的自定义 React-hook。

这是单元测试

但这就是输出

我调试了这个片段。我发现在useInterval调用之前已经触发了一些东西setTimeout调试结果

似乎setTimeout已在内部调用。做错了什么?有任何想法吗?

0 投票
2 回答
3971 浏览

react-hooks-testing-library - @testing-library/react-hooks 警告:看起来您在测试交互中使用了错误的 act()

我有相当复杂且仍在增长的应用程序。我们使用带有钩子、上下文和其他有用的东西的反应。一般来说,测试反应钩子@testing-library/react-hooks很容易。有时我们会遇到测试通过但出现奇怪警告的情况:

是带有测试的小型应用程序。不幸的是,它只适用于 chrome。在 FF 上,测试永远不会结束。测试正在通过,但在控制台中是可见的警告。如果它不适合您,请查看图像:

代码沙盒工作示例

如果有人能向我解释如何摆脱这个警告,我将不胜感激。我尝试了许多不同的方法,但最后,我们的许多测试都抛出了这个警告。

0 投票
0 回答
367 浏览

reactjs - 启用/禁用基于 useState 布尔值更改 true/false 的提交按钮使用 react jest 测试库

我正在从配置中填充表单字段,并且在用户更新字段后,我将更新的字段与之前使用“isEqual”获取的配置进行比较。如果“isEqual = false”我启用提交按钮。我在用 jest 模拟这种行为时遇到了一些麻烦。任何人都可以帮助这个测试用例吗?

下面是我的示例代码片段:

这是我的测试: