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

reactjs - 使用 react-testing-library 时找不到带有文本的元素:“myText”错误

我正在尝试react-testing-library与 React 和 Jest 一起使用,但我的一个测试失败了,我认为这与className prop测试文件上的正则表达式有关。

下面我附上了各自的测试和组件文件。

另外,有没有办法snapshot用这个库进行测试?我觉得我的测试由于某种原因没有完成。

完整的错误日志

0 投票
1 回答
174 浏览

javascript - 无法转换没有主体的节点

我正在尝试运行示例react-testing-library测试反应钩子。但它似乎在这条线上失败了:

看起来它与Babel有关。尝试谷歌搜索,但找不到任何似乎有同样问题的人。我用create-react-app.

这是堆栈跟踪:

0 投票
1 回答
2891 浏览

reactjs - React 测试库:我是否需要为每个测试键使用新的选择器进行新的测试?

我正在使用 React 测试库构建一个带有 TDD 的 React 应用程序。

TLDR:选择器(例如toBeInTheDocument())似乎只在render. 那正确吗?

我使用 CRA 制作了应用程序,这是我的src/setupTests.js

以下是我写的测试:

这是我写的组件:

describe现在,如果我运行这些测试,每个块只有前两个通过。

例如,如果我给出任何it测试 a.only它通过。

到底是怎么回事?我不能为多个断言重用相同的测试设置吗?我必须render为每个人打电话it吗?

0 投票
1 回答
746 浏览

reactjs - 使用 react-testing-library 和 Jasmine

我正在玩 react-testing-library,看看我们是否应该在我们的项目中使用它。我们使用jasmine而不是jest. 我想知道是否react-testing-library可以轻松使用jasmine(应该没问题...)

我看到的大多数例子都是jest. 使用react-testing-librarywith有什么注意事项jasmine吗?有一些例子吗?

谢谢

0 投票
1 回答
2310 浏览

reactjs - React Jest/React-testing-Library 路由更改无法正常工作

我一直在尝试记录单击锚标记时的 URL 更改。虽然这在实际页面上有效,但在我用 Jest 编写测试时却不行。

这是代码:

0 投票
1 回答
1669 浏览

reactjs - 使用 react-testing-library 运行 jest 测试时出错

这是我第一次写测试。我正在为使用钩子编写的 ReactJS 应用程序编写测试,并使用Jestreact-testing-library 进行测试

这是我的功能组件:

和测试文件:

当我运行测试时,我得到了这个错误:

TypeError:无法读取 null 的属性“getBarcode”

我不知道我该如何解决这个问题?

0 投票
2 回答
1423 浏览

reactjs - 使用 jest 和 react-testing-library 测试对象属性时出错

这是我第一次写测试。我正在为使用钩子编写的 ReactJS 应用程序编写测试,并使用Jestreact-testing-library 进行测试

当我测试对象将在其所有属性上多次呈现时,我遇到了麻烦。

这是功能组件:

这是测试文件:

实际发生的情况是,每次预期的测试296-c-4f-89-18都是对象的第一个属性,那么我该如何解决这个问题?

0 投票
7 回答
33664 浏览

reactjs - 如何在 react-testing-library 中的单选按钮上触发更改事件?

我正在转移到 react-testing-library,并且不知道如何触发此事件并获得更改的结果。

我已经尝试使用该fireEvent功能来触发更改,然后尝试了该rerender功能,但我似乎无法让它工作。

应用程序.js

应用程序.test.js

0 投票
1 回答
187 浏览

reactjs - 如何使用 react-testing-library 测试 DOM 节点的外观

我正在转移到 react-testing-library 的过程中,并且无法断言文本在某些状态下会发生变化。我要测试的是“选择第二个选项”文本或节点的外观。但这只是失败了,因为节点没有改变。虽然它在浏览器中工作。

我查看了文档,但由于某种原因使用waitorwaitForElement对我不起作用。

应用程序.js

应用程序.test.js

0 投票
2 回答
1786 浏览

jestjs - 从正在测试的组件外部访问 Context API

我正在使用 Jest 和 React-testing-library 来测试 React 组件。我已经使用 Context API Provider 渲染了一个组件,因此该组件可以访问 Context。不幸的是,我不知道如何从渲染组件外部访问它。在这种情况下isUserLogged,上下文中有一个属性,具体取决于组件的更改。但我不知道如何更改此属性的值。我该如何处理这个案子?如果需要模拟 Context API,我该怎么做?

在附加的代码中,我尝试使用 useContext 挂钩访问 Context。错误说我不能在 React 组件之外使用钩子。而且,显然,我正在尝试访问 Context Provider 之外的 Context ,因此无论如何它都无法正常工作。