Тестирование
В React по умолчанию реализовано тестирование. Файл для теста имеет имя ComponentName.test.js.
Пример файла «App.test.js» (устанавливается по умолчанию).
// App.test.js
import { render, screen } from '@testing-library/react';
import App from './App';
test('На странице имеется ссылка', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i); // искать строку "learn react"
const linkElement = screen.getByText('learn react'); // ищет строго строку "learn react"
expect(linkElement).toBeInTheDocument();
});
Пример выше ищет строку «learn react», и если она имеется, то она помечает, что тестирование прошло.
Запустить тестирование можно через консольную команду:
npm test
Команда ищет все файлы, имеющие суффикс «test», и показывает в консоли результат всех тестов.
Пример тестирования:
PASS src/App.test.js
√ На странице имеется ссылка (22 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.243 s, estimated 13 s
Чтобы выйти из режима тестирования, достаточно нажать на Ctrl + C или q.
Проверить элементы по роли
Допустим есть компонент модального окна, у которого должен быть указан атрибут role="dialog". Найти элемент по роли можно через метод screen.getByRole().
// App.test.js
import { render, screen } from '@testing-library/react';
import Dialog from './Dialog';
test('Проверка атрибута role="dialog"', () => {
render(<Dialog />);
expect(screen.getByRole("dialog")).toBeInTheDocument();
});
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта
