SwiftUI Academy · Aula

Testes Baseados em Snapshots e Previews

Detecte regressões visuais em diferentes estados.

Aula 4 de 413 etapas

Testes Baseados em Snapshots e Previews é uma aula grátis de SwiftUI Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de SwiftUI Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de SwiftUI Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

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. 🎉

Grátis para começar

Aprenda Swift com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Testes Baseados em Snapshots e Previews” é grátis?

Sim — o texto completo de “Testes Baseados em Snapshots e Previews” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de SwiftUI Academy, atualize para CoddyKit PRO. O curso de SwiftUI Academy inclui 4 aulas no total.

O que vou aprender em “Testes Baseados em Snapshots e Previews”?

Detecte regressões visuais em diferentes estados. Você pratica SwiftUI Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar SwiftUI Academy?

Nenhuma experiência prévia é necessária. SwiftUI Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Testes Baseados em Snapshots e Previews”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de SwiftUI Academy?

Sim. Cada aula de SwiftUI Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Testes Unitários de ViewModels
  2. Testando Código Assíncrono
  3. Testes de Interface com XCUITest
  4. Testes Baseados em Snapshots e Previews
← Voltar para SwiftUI Academy