作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一些基本测试并遵循 Jests 网站上的入门指南,但 toHaveAttribute 显然不是一个函数
import React from "react";
import { fireEvent, render } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { App } from "../App";
test("allows users to add items to their list", () => {
const { getByText, getByLabelText, getByTestId } = render(<App />);
const input = getByLabelText("What needs to be done?");
userEvent.type(getByTestId("email"), "Hello World!")
expect(getByTestId("email")).toHaveAttribute("value", "Hello, World!")
})
类型错误:expect(...).toHaveAttribute 不是函数
10 | const input = getByLabelText("What needs to be done?");
11 | userEvent.type(getByTestId("email"), "Hello World!")
> 12 | expect(getByTestId("email")).toHaveAttribute("value", "Hello, World!")
| ^
13 | })
我完全按照教程进行操作,所以我不确定为什么会发生这种情况。
最佳答案
方法toHaveAttribute
是 jest-dom 的一部分可以测试 DOM 元素。您需要验证是否在项目中正确设置了它。
安装模块:
npm install --save-dev @testing-library/jest-dom
之后,您可以像推荐的那样在您的 Jest 设置文件中包含:
// In your own jest-setup.js (or any other name)
import '@testing-library/jest-dom'
// In jest.config.js add (if you haven't already)
setupFilesAfterEnv: ['<rootDir>/jest-setup.js']
关于reactjs - expect(...).toHaveAttribute 不是函数 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65947682/
我创建了一些基本测试并遵循 Jests 网站上的入门指南,但 toHaveAttribute 显然不是一个函数 import React from "react"; import { fireEven
我使用 jest 和 detox (@e2e) 进行测试设置 问题是,尽管看似正确导入了 @testing-lib/jest-dom,但我似乎无法使用 toHaveAttribute() 匹配器,因为
我是一名优秀的程序员,十分优秀!