render — это основной метод в React Testing Library, который используется для рендеринга React-компонентов в тестовой среде. Он возвращает объект, содержащий методы для взаимодействия с отображенным компонентом, такие как поиск элементов, имитация событий и проверка состояния.
Основные функции render:
- Рендеринг компонентов: Рендерит React-компонент в тестовой среде.
- Поиск элементов: Предоставляет методы для поиска элементов в DOM, такие как
getByText,getByTestId,getByRoleи другие. - Имитация событий: Позволяет имитировать события, такие как клики, ввод текста, нажатие клавиш и другие.
- Проверка состояния: Позволяет проверять состояние компонента после взаимодействия с ним.
Пример компонента:
import React from 'react';
function Greeting({ name }) {
return <div>Hello, {name}!</div>;
}
export default Greeting;Пример теста:
import React from 'react';
import { render, screen } from '@testing-library/react';
import Greeting from './Greeting';
test('renders greeting with name', () => {
// Рендерим компонент с пропом name
render(<Greeting name="World" />);
// Находим элемент по тексту
const greetingElement = screen.getByText(/Hello, World!/i);
// Проверяем, что элемент присутствует в документе
expect(greetingElement).toBeInTheDocument();
});Пояснение:
- Импорт
renderиscreen: Импортируйтеrenderиscreenиз@testing-library/react. - Рендеринг компонента: Используйте
renderдля рендеринга компонентаGreetingс пропомname. - Поиск элемента: Используйте
screen.getByTextдля поиска элемента по тексту. - Проверка наличия элемента: Используйте
expectи методы Jest для проверки, что элемент присутствует в документе.