Я установил 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 выглядит устаревшей.