Для настройки библиотек тестирования Jest
и React Testing Library (RTL)
для приложения React, выполните следующие шаги:
- Установка зависимостей
Сначала установите Jest и React Testing Library в качестве зависимостей разработки:
npm install --save-dev jest @testing-library/react
- Создание файла конфигурации Jest
Создайте файл конфигурации Jest с именем jest.config.js
в корне вашего проекта. Этот файл будет содержать настройки, которые помогут Jest найти и запустить ваши тесты. Пример базовой конфигурации:
module.exports = {
roots: ['<rootDir>/src'],
testMatch: [
'**/__tests__/**/*.+(ts|tsx|js)',
'**/?(*.)+(spec|test).+(ts|tsx|js)',
],
transform: {
'^.+\\.(ts|tsx)$': 'ts-jest',
},
};
- Создание папки для тестов
Создайте папку с именем __tests__
в вашем проекте. В этой папке будут храниться все ваши тесты.
- Добавление скрипта запуска тестов
Добавьте скрипт запуска тестов в файл package.json
:
"scripts": {
"test": "jest"
}
- Написание тестов
Для каждого модуля, который вы хотите протестировать, создайте соответствующий файл с расширением .test.js
или .spec.js
внутри папки __tests__
. В этих файлах напишите свои тесты, используя функции, предоставляемые Jest и RTL, такие как describe()
, it()
или test()
, и expect()
.
Пример простого теста:
import { render, screen } from '@testing-library/react';
import App from '../src/App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});
- Запуск тестов
Теперь вы можете запустить тесты, выполнив команду:
npm test
**Дополнительные советы
- Mocking: Jest предоставляет мощные инструменты для создания моков (mock) функций и модулей, что может быть полезно при тестировании.
- Coverage: Вы можете настроить Jest для генерации отчетов о покрытии кода тестами, добавив опцию
--coverage
в скрипт запуска тестов. - Environment: Если ваше приложение использует TypeScript, убедитесь, что у вас установлен
ts-jest
, и что конфигурация Jest правильно настроена для обработки TypeScript файлов.
Теперь ваше приложение React настроено для использования Jest и React Testing Library для написания и запуска тестов.