问题标签 [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.
javascript - expect(...).toHaveAttribute 不是一个函数,尽管它已正确扩展
我的测试设置使用jest
and detox
(@e2e)
问题是,尽管看似正确导入@testing-lib/jest-dom
,但我似乎无法使用toHaveAttribute()
我应该能够的匹配器。
在我的spec.js
文件里面:
但是,在运行我的测试时,我收到以下错误:
TypeError:expect(...).toHaveAttribute 不是函数
- 如您所见@ docs,我应该正确设置我的
expect
。. 所以我真的很困惑为什么我会收到这个错误。 - 我发现了一个类似的问题,但是如您所见,我在
extend-expect
这里正确导入了。
javascript - Set size of window in Jest and jest-dom and jsdom
I test the height of the window in Jest with jest-dom and jsdom.
With this code :
The result is an error that say :
Expected: 150
Received: 768
With innerWidth, the received value is 1024
That is great, it means that the size of window is testable with Jest and jest-dom.
But where does 768 and 1024 come from ? Is it the default values and will always be ? Is it configurable and how?
reactjs - @testing-library/jest-dom 未加载
我正在尝试将 React 测试库引入 Create React App 项目,但遇到了一个奇怪的问题。对于我的一项测试,我需要使用 jest-dom,但我似乎无法成功导入它。
我已经yarn add
完成了,想不出我错过了哪一步。
expect.extend
失败,因为它toHaveStyle
是未定义的。
这是我的测试文件,减少到最低限度:
输出是:
而且,这是 yarn.lock 的相关部分:
javascript - React 测试库:测试失败样式(从 MUI 中选择 + 表单控件)
问题
如果组件处于错误状态,我正在尝试测试边框是否为红色,但它在本地机器中失败,但在代码和框中没有
我试过的:
FormHelperText
检查样式和fieldSet
样式是否有区别- 试图通过代码沙箱复制
- 阅读文档和研究发现了一个类似的案例,但使用了不同的样式:https ://twitter.com/hieptuanle5/status/1051811353176858625
错误状态设置为的代码组件true
测试
codesanbox链接 https://codesandbox.io/s/rtl-mui-select-test-style-border-tekgl?file=/src/test /select.test.js:0-549
编辑 2 本地机器错误日志:
任何线索将不胜感激。谢谢
typescript - 如何在 Jest 中模拟 navigator.clipboard.writeText()?
在查看 Jest 问题和SO 答案后,我尝试了以下 4 个选项,但我收到 TypeScript 错误或运行时错误。我真的很想让选项 1 (spyOn) 工作。
vuejs2 - 开玩笑单元测试无法确定 Vuetify 组件的可见性
我有一个带有 Vuetify 的 Vue2 项目,我正在使用 Jest 对我的代码进行单元测试。我开始测试一些示例代码,但我无法让 Jest 确定 Vuetifyv-alert
组件是否可见。我已经尝试过内置的 Jest 方法以及添加 Jest-dom 并使用该toBeVisible()
方法,但到目前为止没有任何效果。
如果你看Test.vue组件,该v-alert
组件默认是隐藏的。(它的样式设置为display:none;)
单元测试说明expect(alert).not.toBeVisible()
哪个应该通过,但无论v-alert
模型设置为什么,它总是失败。如果我将测试更改为expect(alert).toBeVisible()
它通过,无论v-alert
模型设置为真/假。
如果我将测试更改为expect(alert).toHaveStyle({ display: 'none' });
失败,无论我是否将模型设置为真/假。
据我所知,Jest 单元测试根本无法确定v-alert
组件的可见性。这些相同的测试在v-btn
组件上运行良好,那么为什么会v-alert
中断?这只是我的第一个单元测试样本,我已经尝试了 2 天。我有一个完整的应用程序来编写测试,到目前为止,Jest 不能很好地与 Vuetify 一起工作......有什么建议吗?
// Test.vue 组件
// Jest 单元测试
// 包.json
reactjs - “匹配器”类型上不存在属性“toBeInTheDocument”'
尝试为组件库设置测试。我已经尝试了许多示例和所有类似的线程,但没有运气。
我的 setupTests.ts 文件正在正确加载(通过 console.log 证明),并且该库似乎可用,就像我添加import { toBeInTheDocument } from '@testing-library/jest-dom/matchers'
并记录toBeInTheDocument
它存在一样。
我也尝试过这个expect.extend({ toBeInTheDocument })
选项,不幸的是仍然有同样的错误。
以下是我的文件,我缺少什么?谢谢
错误:
编辑:弗拉德的评论是正确的,我的错误是愚蠢的。尽管现在测试运行没有任何错误,但 VSCode 仍然抱怨它。
我发现将“testing-library__jest-dom”添加到 tsconfig“types”似乎可以抑制错误,将鼠标悬停在它的类型函数上any
,我无法跳转到函数的定义“No definition found for”toBeInTheDocument”。
关于为什么没有加载类型定义的任何想法?
jestjs - 为什么 React 测试库不应该触发提交处理程序?Jest DOM 是罪魁祸首吗?
我有一个沙箱,我在其中重新创建了我在代码库中遇到的问题。我有一个带有必填字段的表单,以及表单的提交处理程序内部的回调。如果表单无效,实际组件不会正确触发事件处理程序。但是,测试会触发处理程序并因此触发回调。
我正在使用 React 16.x、React 测试库 10.x、Jest DOM 5.x。(所有版本号都可以在上面的沙箱中看到)。
我的实现实际上是不正确的,还是我的测试不好?或者用于测试的人造 DOM 中是否存在错误?我不知所措。
jest-dom - Got TypeError: expect(...).toBeInTheDocument is not a function 即使在正确设置之后
我使用 Create React App 并且已经在 src/setupTests.js 上声明了它:
但是每次我expect(anything).toBeInTheDocument()
在测试文件上使用时,在运行测试时我都会得到:
为了确保 setupTests.js 实际运行,我尝试在测试文件上使用酶浅,它可以工作。那么 jest-dom 实际上有什么问题以及如何解决呢?
javascript - Dom 操作(AppendChild)在 Jest 中失败
我在下面的测试用例中需要一些帮助:appenChild 在 Jest 中失败
实际上这是 JSDOM 的一个问题:https ://github.com/jsdom/jsdom/issues/2274 我需要在测试中进行哪些更改才能解决错误。
谢谢