问题标签 [react-testing]

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

reactjs - 如何测试方法是否在带有柏树的反应组件内引发错误

我的 React-Component 看起来像这样(简化了很多):

我们想测试或模拟计算方法是否抛出错误。所以目标是在调用计算方法并在之后被捕获时引发错误。这是必需的,以便我可以测试我的错误通知(snackbars/toasts)是否显示在浏览器中。

我找不到监视或存根此方法的方法。我们目前正在使用赛普拉斯组件测试。这甚至可能吗?

目前的测试如下所示:

0 投票
1 回答
32 浏览

javascript - 如何在 Jest 中使用 shallowequal 模拟 useselector

我有这个组件

我试图测试, import * as redux from 'react-redux'

这不包括 Coverage report 中的 useselector。

0 投票
1 回答
49 浏览

reactjs - 为 create-react-app(版本 16.12.0)添加 React 测试库时出错

我正在使用 typescript(react 版本 16.12.0)开发一个 react 项目,我想在其中添加 React 测试库。较新版本的 react 带有 React-Testing-Library,但我正在处理的项目不带有 RTL,所以我手动安装了它。

我将以下内容添加到 package.json 并安装了 yarn

当我启动纱线时,我在下面收到此错误

在此处输入图像描述

使用的其他相关包版本

0 投票
1 回答
274 浏览

reactjs - React Jest & React 测试库,为视频播放器编写测试(播放和暂停)

我正在使用<ReactPlayer/>作为我项目的一部分,它给了你<video /> in HTML

我想为此编写测试用例。

要编写测试用例,without使用autoPlayIplay所以video manually我必须编写一个test caseforplaypause事件<ReactPlayer/>or<video />

有什么方法可以编写测试用例event of "Play"

提前致谢

0 投票
0 回答
70 浏览

javascript - 如何测试 FullCalendar 的“dateClick”回调?

当用户单击日历中的日期时,应用程序应将日历的视图更改为单击日期的周视图。您可以在沙箱中试用:https ://codesandbox.io/s/elastic-torvalds-ifedt?file=/src/App.test.js:100-503

您还可以在componentDidMount方法中看到dateClick回调是通过事件触发mousedownmouseup。我尝试在测试中模仿这一点,但事件不会使用fireEvent.mouseDown(date)and触发fireEvent.mouseUp(date)

有谁知道如何解决这个问题?

我将尝试使用select回调并为您提供最新进展。

更新:似乎select回调遇到了与回调相同的问题dateClick。也就是说,如果我正确理解源代码,它们都会经历相同的mousedown事件。mouseup我已经没有关于如何测试这个处理程序的想法了。任何想法表示赞赏。

应用程序.js

应用程序.test.js

0 投票
0 回答
45 浏览

css - CSS变量不适用于反应测试库

我正在做的是测试暗模式功能。有一个按钮可以切换暗模式。当它点击时,onClick事件将触发,css 变量值将更改为暗模式。但是当我检查文本区域的背景颜色时,它没有改变。我检查了暗模式按钮onClick功能是否成功触发。

测试用例:-

按钮元素:-

toggleTheme按钮元素的功能onClick:-

要获取有关代码的更多信息:- https://github.com/Muhammed-Rahif/Notepad

react-testing-library 中的 css 变量是否有任何问题,或者我们无法在 RTL 中测试与 css 变量相关的测试?如果可以,会怎么样?!


根据我的研究,我在 Github 中发现了这两个问题:-

0 投票
1 回答
99 浏览

javascript - React-Testing-Library 中的 Content.Provider 测试失败

这是我要测试的反应类。我正在使用Content.Provider以保持全局状态。在我的测试文件中,我将其命名为<Store>.

然后我有这个test.js文件,其中第一个测试成功,第二个测试失败。

在我的记录器中,测试显示以下内容:

测试结果

如您所见,测试失败,因为data-testid="projectTabBar"不在文档中并且微调器在那里。我知道发生这种情况是因为组件没有呈现数据,但我不明白为什么会发生这种情况以及如何解决它。任何帮助,将不胜感激。

0 投票
1 回答
56 浏览

reactjs - 在 docker 容器内触发反应测试

我有从 docker-compose 运行的带有 React 应用程序的容器。当我使用打印此容器的日志时

有一条消息:

容器与绑定挂载一起使用。我的项目目录中的更改被加载到容器中。当我添加一些新测试时,如何在运行容器中“按 Enter 触发测试运行”?如果我无法在容器中按 Enter,如何刷新容器以运行新测试?我使用 React 17、WSL、Windows 和 FAST_REFRESH 或 CHOKIDAR_USEPOLLING 等环境变量不起作用。

此致

0 投票
2 回答
61 浏览

jestjs - 使用反应测试库测试元素消失失败

当用户单击对话框上的“取消”按钮时,我正在尝试使用以下测试测试对话框的消失:

但是上面的代码抛出了一个错误: TypeError: MutationObserver is not a constructor

有人可以帮助我理解这个问题,因为我是测试库的新手。提前致谢。

0 投票
0 回答
16 浏览

reactjs - 单元测试对从 redux-form 连接的子组件做出反应以增加测试覆盖率

我有一个简单的 React 组件,它使用了“redux-form”库中的 FieldArray,我很难增加该组件的测试覆盖率。当我控制台记录组件时,我得到了一个ConnectedFieldArray组件,但不完全确定如何测试它。

AMLScreeningSummary.js

AMLScreeningSummary.test.js

这是 console.log(wrapper.debug()) 的输出

如何测试 renderPreScreeningRows 和 renderPreScreeningField 函数返回的内容/子组件?console.log 语句显示它们是一个 ConnectedFieldArray 组件。我该如何测试呢?