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 для проверки, что элемент присутствует в документе.