reactjs - 无法导入@testing-library/jest-dom,expect.extend 不是函数
问题描述
我正在尝试添加@testing-library/jest-dom
到我的项目中,但没有运气。它由 yarn 安装到我的开发依赖项中,并在 setupTests.js 中导入:
import '@testing-library/jest-dom';
测试失败:
Invalid Chai property: toBeDisabled
40 | it('should be disabled', async () => {
41 | const button = screen.getByRole('button', { name: 'Create button' });
> 42 | expect(button).toBeDisabled();
| ^
43 | });
44 | });
我哪里错了?
解决方案
看起来您在同一个测试套件中同时使用 Chai 和 Jest,两者都有一个expect
功能。在这个测试中,您希望使用 Jest,但被调用的是 Chai。Chaiexpect
没有toBeDisabled
函数属性,因此出现错误。
您是否还在该文件中导入 Chai?如果是这样,请删除该导入。如果您需要两种测试框架,我建议您将测试分成不同的文件,以便在一个文件中仅使用一个框架运行测试。
推荐阅读
- apache-spark - 使用 apache spark 加载一个非常大的 csv 文件
- css - 如何将图像作为中心对齐到离子项目
- react-native - 如何修复错误:item[_this.props.text_key].split 不是函数
- python-3.x - 将键与 .lower() 组合并汇总值
- hibernate - Spring JPA - @OneToMany 为每个关系创建单独的表
- reactjs - 反应谷歌地图返回空元素_反应
- c++ - 使用数组和布尔值在输出未知时从输出中删除逗号
- android - 自定义类中的布局膨胀问题
- ios - 如何使用自动调整其高度的 SnapKit 以编程方式创建 UITableViewCell?
- peewee - 如何使用 peewee mysql 删除/创建模式