0Pricing
Sveltejs Academy · Урок

@testing-library/svelte: render и fireEvent

Отображайте компоненты в тестах, выполняйте запросы к DOM и имитируйте взаимодействия пользователя.

«@testing-library/svelte: render и fireEvent» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.

Testing Library

@testing-library/svelte предоставляет средства для отображения компонентов и взаимодействия с ними так, как это делает пользователь.

Отрисовка

Монтируйте компонент в виртуальный DOM.

import { render } from "@testing-library/svelte";
const { getByText } = render(MyComp, { props: { name: "Ada" } });

Методы поиска

Используйте getByText, getByRole и getByLabelText, чтобы находить элементы так, как это сделал бы пользователь.

fireEvent

Имитируйте взаимодействия пользователя: click, ввод данных и отправку.

import { fireEvent } from "@testing-library/svelte";
await fireEvent.click(getByRole("button"));

Библиотека user-event

Для более реалистичного взаимодействия (ввода текста и навигации с клавиатуры) используйте @testing-library/user-event.

Асинхронные обновления

После взаимодействия дождитесь выполнения микрозадач, чтобы обновления Svelte завершились.

Проверки

Используйте expect с сопоставителями jest-dom, например toBeInTheDocument и toHaveAttribute.

expect(getByText("Hello, Ada!")).toBeInTheDocument();

Свойства компонента

Передавайте свойства вторым аргументом в render.

События компонента

Тестируйте диспетчеры событий, передавая шпион в качестве свойства-обратного вызова.

Снимок DOM

Создавайте снимок отображённого HTML для обнаружения регрессий.

Лучший подход

Проводите тестирование с точки зрения пользователя. Не проверяйте внутреннее состояние напрямую.

Быстрая проверка

Что делает render?

Итоги

Используйте render, fireEvent и jest-dom, чтобы тестировать компоненты Svelte так, как при реальном взаимодействии пользователя.

Часто задаваемые вопросы

Урок «@testing-library/svelte: render и fireEvent» бесплатный?

Да — полный текст урока «@testing-library/svelte: render и fireEvent» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.

Чему я научусь в уроке «@testing-library/svelte: render и fireEvent»?

Отображайте компоненты в тестах, выполняйте запросы к DOM и имитируйте взаимодействия пользователя. Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Sveltejs Academy?

Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «@testing-library/svelte: render и fireEvent»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Sveltejs Academy?

Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Настройка Vitest для проектов Svelte
  2. @testing-library/svelte: render и fireEvent
  3. Тестирование хранилищ и реактивности
  4. Имитация модулей и Fetch
← Назад к Sveltejs Academy