6

我使用 Create React App 并且已经在 src/setupTests.js 上声明了它:

import '@testing-library/jest-dom';
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });

但是每次我expect(anything).toBeInTheDocument()在测试文件上使用时,在运行测试时我都会得到:

TypeError: expect(...).toBeInTheDocument is not a function

为了确保 setupTests.js 实际运行,我尝试在测试文件上使用酶浅,它可以工作。那么 jest-dom 实际上有什么问题以及如何解决呢?

4

2 回答 2

10

解决了:

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

在 src/setupTests.js 上

于 2020-07-17T09:31:38.117 回答
3

更容易添加到您的jest.config.js

module.exports = {
  ...,
  "setupFilesAfterEnv": [
    "<rootDir>/jest.setup.js"
  ]
}

jest.setup.js并用内容进行创作

import '@testing-library/jest-dom'

这样您就不必在每个测试文件中导入 jest-dom

于 2021-04-22T17:28:59.193 回答