0Pricing
SwiftUI Academy · Урок

Тестирование по снимкам и предварительным просмотрам

Обнаруживайте визуальные регрессии в разных состояниях.

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

Части этого урока еще не переведены и отображаются на английском.

Catching Visual Bugs

Some bugs are not crashes; they are layout slips you only see. Snapshot tests catch these by comparing images of your views. 👀

How Snapshots Work

A snapshot test renders a view to an image once, saves it, then fails later if a new render no longer matches.

The Reference Image

The first run records a trusted reference image. You review it by eye, and from then on it becomes the source of truth.

Previews Drive Testing

SwiftUI previews already show a view in many states. Designing those states first makes your snapshots easy to write.

#Preview { ProfileCard(user: .sample) }

Cover Many States

Add previews for empty, loading, and error states. Each one becomes a snapshot, so regressions in any state are caught.

Test Light and Dark

Render each view in light and dark mode. A color that vanishes in dark mode is exactly what a snapshot will reveal. 🌗

.preferredColorScheme(.dark)

Vary Dynamic Type

Snapshot a view at the largest Dynamic Type size too. Text that overflows or clips will fail the comparison immediately.

Pin the Device Size

Always snapshot on a fixed device or frame. Different screen sizes produce different images and cause false failures.

Reading a Failure

When a snapshot fails, the tool shows old, new, and a diff. You decide: a real bug, or an intended change to re-record.

Commit Your Snapshots

Store reference images in version control. Teammates then share the same baseline, and CI can catch visual changes in pull requests.

Re-Record on Purpose

Changed the design intentionally? Switch to record mode once to refresh the baselines, then turn it off again.

Quick Check

What does a snapshot test actually compare?

Recap

You learned snapshot testing: record a reference, cover many preview states, test light and dark, and commit baselines so visual bugs never sneak in. 🎉

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

Урок «Тестирование по снимкам и предварительным просмотрам» бесплатный?

Да — полный текст урока «Тестирование по снимкам и предварительным просмотрам» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.

Чему я научусь в уроке «Тестирование по снимкам и предварительным просмотрам»?

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

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

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

Сколько времени занимает урок «Тестирование по снимкам и предварительным просмотрам»?

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

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

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

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

  1. Модульное тестирование ViewModels
  2. Тестирование асинхронного кода
  3. UI-тесты с XCUITest
  4. Тестирование по снимкам и предварительным просмотрам
← Назад к SwiftUI Academy