gpt4 book ai didi

reactjs - @testing-library/jest-dom 未加载

转载 作者:行者123 更新时间:2023-12-04 11:36:16 25 4
gpt4 key购买 nike

我正在尝试将 React 测试库引入 Create React App 项目,但遇到了一个奇怪的问题。对于我的一项测试,我需要使用 jest-dom,但我似乎无法成功导入它。

我已经 yarn add 'ed it,想不出我错过了哪一步。expect.extend失败是因为它的 toHaveStyle未定义。

这是我的测试文件,减少到最低限度:

import React from 'react';
import {render, screen} from '@testing-library/react';

import {toHaveStyle} from '@testing-library/jest-dom';
import '@testing-library/jest-dom/extend-expect';
//expect.extend({toHaveStyle});

it('is confusing me', () => {
// (Using `toBe(42) as an ersatz `console.log`)
expect([Object.keys(require('@testing-library/jest-dom')), Object.keys(require('@testing-library/react')), toHaveClass]).toBe(42);
});

输出是:
  Expected: 42
Received: [[], ["render", "cleanup", "fireEvent", ...], undefined]

而且,这是yarn.lock的相关部分:
"@testing-library/jest-dom@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.7.0.tgz#b2e2acb4c088a293d52ba2cd1674b526282a2f87"
integrity sha512-ZV0OtBXmTDEDxrIbqJXiOcXCZ6aIMpmDlmfHj0hGNsSuQ/nX0qPAs9HWmCzXvPfTrhufTiH2nJLvDJu/LgHzwQ==
dependencies:
"@babel/runtime" "^7.9.2"
"@types/testing-library__jest-dom" "^5.0.2"
chalk "^3.0.0"
css "^2.2.4"
css.escape "^1.5.1"
jest-diff "^25.1.0"
jest-matcher-utils "^25.1.0"
lodash "^4.17.15"
redent "^3.0.0"

"@testing-library/react@^10.0.4":
version "10.0.4"
resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.0.4.tgz#8e0e299cd91acc626d81ed8489fdc13df864c31d"
integrity sha512-2e1B5debfuiIGbvUuiSXybskuh7ZTVJDDvG/IxlzLOY9Co/mKFj9hIklAe2nGZYcOUxFaiqWrRZ9vCVGzJfRlQ==
dependencies:
"@babel/runtime" "^7.9.6"
"@testing-library/dom" "^7.2.2"
"@types/testing-library__react" "^10.0.1"

最佳答案

这是我如何使用这个伟大的图书馆:

// in test file
import '@testing-library/jest-dom/extend-expect';

[...]

// then matchers are available in tests
expect(rtl.getByText('text').toHaveClass('some-class');

我的导入与您的略有不同,我无法准确说出您的导入有什么问题,但我就是这样做的。

祝你好运 !

关于reactjs - @testing-library/jest-dom 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61853262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com