Я установил jest, jest-environment-jsdom, @testing-library/react и @testing-library/jest-dom, как предложено на сайте Next.js.
Однако я не могу запустить какой-либо тест, связанный с работой с DOM, например:
import '@testing-library/jest-dom';
import { render, screen } from '@testing-library/react';
Вот ошибка, которую я получил:
Cannot find module '@testing-library/dom' from 'node_modules/@testing-library/react/`
`dist/pure.js'
Я почти уверен, что установил jest-dom, а не dom (в области @testing-library). Когда я копаюсь в pure.js из @testing-library/react, в строке 46 действительно ищется dom:
var _dom = require("@testing-library/dom");
Почему это так? Я установил что-то не так? Документация неверна/неполна?
Спасибо за ответ. Я так и сделал, и это сработало, но меня беспокоит, почему существует проблема, а не пишу вещи, в которых я не совсем уверен. Я думаю ты прав; документы устарели. Я помогу это изменить.





Благодаря @jonrsharpe я публикую ответ для справки.
Согласно https://github.com/testing-library/react-testing-library/releases/tag/v16.0.0, библиотека тестирования превратилась dom в одноранговую зависимость около 3 недель назад на момент написания статьи, а это значит, что его надо установить. Документы next.js следует обновить, и я попытаюсь создать запрос на включение.
Пробовали установить то, что он просит? Да, вы установили
.../jest-dom, но не.../dom. Обратите внимание github.com/testing-library/react-testing-library/releases/tag/…. Документация Next.js выглядит устаревшей.