Получил 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'

При этом вам не нужно импортировать шутку в каждый тестовый файл.

Другие вопросы по тегам