无法导入@testing-library/jest-dom,expect.extend不是函数
Can't import @testing-library/jest-dom, expect.extend is not a function
我正在尝试将 @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。 Chai 的 expect
没有 toBeDisabled
函数 属性,因此出现错误。
您是否也在该文件中导入了 Chai?如果是这样,请删除该导入。如果您需要这两种测试框架,我建议您将测试分成不同的文件,这样在一个文件中您只能 运行 使用一个框架进行测试。
我正在尝试将 @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。 Chai 的 expect
没有 toBeDisabled
函数 属性,因此出现错误。
您是否也在该文件中导入了 Chai?如果是这样,请删除该导入。如果您需要这两种测试框架,我建议您将测试分成不同的文件,这样在一个文件中您只能 运行 使用一个框架进行测试。