Получил TypeError: expect(...). ToBeInTheDocument не является функцией даже после правильной настройки
Я использую приложение Create React и уже заявляю об этом в 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 и как ее решить?
2 ответа
Решено с помощью:
import '@testing-library/jest-dom/extend-expect';
на src/setupTests.js
Легче добавить в свой
jest.config.js
module.exports = {
...,
"setupFilesAfterEnv": [
"<rootDir>/jest.setup.js"
]
}
и создать
jest.setup.js
с содержанием
import '@testing-library/jest-dom'
При этом вам не нужно импортировать шутку в каждый тестовый файл.