问题标签 [jest-dom]
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.
reactjs - Jest-dom 无法在 node_modules 的文件夹中找到模块
当我添加到我的 test-setup.js 中 import "@testing-library/jest-dom";
时,当我运行任何测试时,Jest 会抛出这个错误。如果我删除导入一切正常。尝试直接在测试文件中添加导入,没有成功。
这就是 test-setup.js 的样子:
错误:
reactjs - 使用 react-testing-library 时使用 mocha 和 chai 进行断言?
我想将反应测试库添加到使用 mocha 和 chai 进行单元测试的项目中。当我写断言时,我有点难过,大多数例子都使用了 jest 和 jest-dom。我真的很热衷于使用像toBeInTheDocument
或这样的断言toHaveTextContent
我想知道是否有适合替代 jest-dom 的 chai 插件?或者您找到了哪些替代解决方案来使用带有 mocha 和 chai 的反应测试库?
reactjs - 如果我不导入它,为什么我可以使用来自“@testing-library/jest-dom”的expect expect().toBeInTheDocument?
我使用“create React App”创建了一个 React.js 应用程序,并且我正在学习运行测试。
expect().toBeInTheDocument
如果我不导入,为什么在下面的代码中可以使用@testing-library/jest-dom
?
reactjs - React 在测试时不会重新渲染状态变化
我正在测试一个反应组件,它有一个Material-ui
更新布尔字段的简单开关。当我在本地运行应用程序时,该组件可以正常工作。
在我的测试中,我通过MockedProvider
. 模拟的提供者按预期工作,我可以看到初始响应和更新响应到达并更新状态。但是,当我找到开关并在屏幕上检查它时,它保持未选中状态。我的测试失败了:
Received element is checked: <input checked="" class="PrivateSwitchBase-input-40 MuiSwitch-input" name="callbackEnabled" type="checkbox" value="" />
我的第一个猜测是 React 不会重新渲染这种状态变化。我需要以某种方式强制重新渲染吗?或者测试这种行为的正确方法是什么?
考试:
javascript - ReferenceError:期望未在反应应用程序中定义
我正在开发一个反应应用程序,突然添加两个测试后我得到一个错误,即
我试图实施我在互联网上找到的解决方案,但没有任何效果。这是我的两个测试文件,第一个,
第二个是,
最后是我的 package.json
这就是我的 JSON 文件的样子。我试图编辑 setuptest.js 文件。但问题还是一样。
reactjs - 无法导入@testing-library/jest-dom,expect.extend 不是函数
我正在尝试添加@testing-library/jest-dom
到我的项目中,但没有运气。它由 yarn 安装到我的开发依赖项中,并在 setupTests.js 中导入:
测试失败:
我哪里错了?
reactjs - toHaveValue 在输入值为 0 时返回 null
我正在为我的 React 项目编写测试代码。我要检查的是“如果输入类型是数字,则不允许插入文本”。下面是我写的测试代码。
我在这里所期望的是获得初始值0
,作为 的结果toHaveValue
。但它实际上返回null
。
你可能会想'是的,你试图在数字类型的输入中插入一个文本,这就是它返回 null 的原因',但有趣的是它debug()
并按我的预期console.log(input.value)
返回。0
而且,如果您手动尝试将文本值插入浏览器上的数字输入,它实际上会显示初始值 0。任何人都知道为什么toHaveValue
并debug
显示不同的结果?
vue.js - 使用 @testing-library/vue 禁用元素时无法正确测试输入复选框
我正在尝试为复选框组件创建一些测试,但看起来我无法断言input[type="checkbox"]
何时被禁用。
在前两个块中,我正在测试复选框是否可以选中/取消选中元素是否被禁用,这里一切正常。
对于最后两个块,我正在尝试相同的方法来检查/取消选中,但现在我将属性设置disabled
为元素,但看起来库忽略了属性
这是我的测试
和控制台输出