Итак, я учусь использовать шутку с реагирующей тестирующей библиотекой в проекте, над которым я работаю. Вот код компонента, который я тестирую:
//DefaultLayout.js
import React, { Component, Suspense } from 'react';
import Header from 'components/Header/Header.js'
...
И затем тестовый файл:
//DefaultLayout.test.js
import React from 'react'
import { render, cleanup } from "@testing-library/react"
import '@testing-library/jest-dom'
import DefaultLayout from "./DefaultLayout.js"
...
Теперь, когда я запускаю npm test
, я получаю это:
Test suite failed to run
Cannot find module 'components/Header/Header.js' from 'DefaultLayout.js'
2 | import { Redirect, Route, Switch } from 'react-router-dom';
3 | import * as router from 'react-router-dom';
> 4 | import Header from 'components/Header/Header.js'
| ^
Теперь, чтобы этот импорт работал, у меня есть файл jsconfig.json
, подобный следующему:
{
"compilerOptions": {
"baseUrl": "src",
"paths": {
"*": ["src/*"]
}
}
}
Все папки, включая components
, находятся в каталоге src
. Я знаю, что jest не импортирует эту конфигурацию, и что мне нужно снова настроить ее для jest. Я просто не понимаю, как это сделать.
Я создал файл jest.conf
, но он не работает:
{
"transform": {
"^.+\\.(js|jsx)$": "<rootDir>/src"
},
}
Это моя последняя попытка. Файл jest.conf находится в root каталоге проекта.
Любая помощь будет отличной.