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

javascript - 为什么状态更改不调用 react act() 错误?

大多数人都在寻找如何摆脱act()测试中的反应错误。我想知道相反。我有导致状态变化的代码。该状态更改应该触发react中的重新渲染(确实如此)。但是,我没有 act() 包装该状态更改,并且没有发出 act() 错误。为什么是这样?

考虑以下愚蠢的组件:

现在,考虑这个最小的测试:

当 react 在 act() 调用之外重新渲染内容时,会发生动作错误。我不清楚为什么这种情况不适用。

0 投票
2 回答
73 浏览

javascript - 有没有办法在测试库中关闭语法突出显示

我正在使用 @testing-library/vue 并在 Sublime Text 的构建步骤中运行测试。错误输出使用 prettyDom 并且在输出窗口中不是很清晰:

构建结果窗口中的示例输出:

有没有办法用环境变量来关闭语法高亮,就像你可以扩展输出长度一样?

0 投票
2 回答
660 浏览

click - fireEvent.click() (form fireEvent) vs element.click() (来自 JSDOM)

背景:我正在使用测试库并试图了解一些底层机制。

由于 JSDOM 已经提供了“点击”事件的处理,我想知道:

  • 这两种管理事件的方式有区别吗?
  • 如果不是,为什么 fireEvent 重新定义了这个事件?

如果存在差异,我想了解它们是什么以及何时使用一种工具或另一种工具。

(对于第二个问题,我有一个想法,但我想确认一下:fireEvent 提供了一个全局统一的接口来生成事件。点击是其中的一个自然部分。)

0 投票
0 回答
115 浏览

javascript - 在 Angular 测试库测试中渲染 html 属性

我正在为我的角度测试使用测试库,并且我有一种情况,我需要从 HTML 中设置一个属性,以便能够以我想要的方式呈现组件......这个属性来自一个模块,我试图渲染通过componentProperties传递它的组件,但它不起作用......你们知道如何在我的测试中设置这个属性,以便我可以正确渲染我的组件吗?

我需要渲染 html 上的 ifMobile 属性,如下所示:

这就是我试图测试的方式:(以这种方式测试运行,没有显示任何错误,但是,它没有渲染组件,它基本上没有改变我的组件)

我也尝试过以这种方式进行测试(以这种方式我什至无法运行测试,因为它说 ifMobile 不是有效的属性)

0 投票
2 回答
207 浏览

javascript - 第二次相同的 `queryByText()` 语句失败

为什么即使这些调用之间没有任何动作或状态更改,queryByText第二次调用相同的函数也会给出结果?null

如果我把screen.debug()await waitFor它说按钮肯定在那里:

screen.debug()

0 投票
1 回答
2544 浏览

vue.js - 如何在 Nuxt.js 中使用 Vue 测试库?

我想在我的应用程序中使用Vue 测试库Nuxt.js。但在安装包后,启动测试会触发此错误:

'vue-cli-service' 不是内部或外部命令、可运行程序或批处理文件。

这大概是因为Nuxt.js不使用vue-cli-service.

尽管如此,有没有一种简单的方法来使用Vue Testing Librarywith Nuxt.js

0 投票
2 回答
222 浏览

reactjs - 使用 testing-library 测试 cleave.js 组件

我正在尝试使用测试库测试组件。我面临的问题是如何在input. 通常这可以通过以下方式实现:

但在我的情况下,我使用库cleave.js来格式化输入,似乎fireEvent.change无法引入文本。

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

0 投票
0 回答
107 浏览

typescript - 使用 jest 和 @testing-library/dom 测试 vanilla 项目时,TestingLibraryElementError: Found multiple elements occurred

索引.html

App.spec.ts

问题是当getByText调用 TestingLibraryElementError: Found multiple elements with the text: 5층 <- 发生错误消息。

如何刷新文档??

我在下面试过。但它没有用

0 投票
1 回答
537 浏览

reactjs - 如何测试具有片段的功能组件?

如何测试使用片段和道具但不使用标记的功能组件,我无法设置角色。

0 投票
1 回答
614 浏览

reactjs - 无法为测试获取 TreeView 图标和 IconButton

我正在尝试测试具有 aendAdornment IconButton和 other的组件TreeView,但是 theIconButtonExpandIcon/CollapseIcon都没有很好的选项来调度测试事件。

这是TextField我正在使用的组件:

这是TreeView组件:

对于TextField图标按钮: 文本字段图标按钮

对于TreeView使用测试游乐场获取图标时 treeView 图标测试

没有很好的查询来获取测试的图标。我怎样才能得到这些选项?