SwiftUI Academy · Lezione

Test basati su snapshot e preview

Rilevi regressioni visive nei diversi stati.

Lezione 4 di 413 passaggi

Test basati su snapshot e preview è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SwiftUI Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SwiftUI Academy include 4 lezioni in totale.

Individuare i bug visivi

Alcuni bug non causano crash: sono problemi di layout che si notano solo guardando. I test snapshot li rilevano confrontando immagini delle view. 👀

Come funzionano gli snapshot

Un test snapshot esegue il rendering di una view come immagine, la salva e in seguito fallisce se un nuovo rendering non corrisponde più.

L'immagine di riferimento

La prima esecuzione registra un'immagine di riferimento attendibile. La esamina visivamente e da quel momento diventa la fonte di verità.

I preview guidano i test

I preview di SwiftUI mostrano già una view in molti stati. Progettare prima questi stati rende semplice scrivere gli snapshot.

#Preview { ProfileCard(user: .sample) }

Copri re molti stati

Aggiunga preview per gli stati vuoto, di caricamento e di errore. Ognuno diventa uno snapshot, così vengono rilevate le regressioni in qualsiasi stato.

Testare la modalità chiara e scura

Esegua il rendering di ogni view in modalità chiara e scura. Un colore che scompare in modalità scura è esattamente il tipo di problema che uno snapshot rivela. 🌗

.preferredColorScheme(.dark)

Variare il Dynamic Type

Esegua uno snapshot della view anche con la dimensione massima di Dynamic Type. Il confronto fallirà subito se il testo fuoriesce o viene tagliato.

Fissare le dimensioni del dispositivo

Esegua sempre lo snapshot su un dispositivo o un frame fissi. Dimensioni dello schermo diverse producono immagini diverse e causano falsi fallimenti.

Leggere un fallimento

Quando uno snapshot fallisce, lo strumento mostra il risultato precedente, quello nuovo e una differenza. Sta a lei decidere: è un bug reale o una modifica intenzionale da registrare nuovamente?

Eseguire il commit degli snapshot

Conservi le immagini di riferimento nel controllo versione. I membri del team condivideranno così la stessa baseline e CI potrà rilevare le modifiche visive nelle pull request.

Registrare di nuovo intenzionalmente

Ha modificato intenzionalmente il design? Attivi la record mode una volta per aggiornare le baseline, poi la disattivi nuovamente.

Verifica rapida

Che cosa confronta effettivamente un test snapshot?

Riepilogo

Ha imparato a eseguire test snapshot: registrare un riferimento, coprire molti stati dei preview, testare le modalità chiara e scura ed eseguire il commit delle baseline, così i bug visivi non passano inosservati. 🎉

Gratis per iniziare

Impara Swift con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Test basati su snapshot e preview» è gratuita?

Sì — il testo completo di «Test basati su snapshot e preview» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SwiftUI Academy, passa a CoddyKit PRO. Il corso SwiftUI Academy include 4 lezioni in totale.

Cosa imparerò in «Test basati su snapshot e preview»?

Rilevi regressioni visive nei diversi stati. Eserciti SwiftUI Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare SwiftUI Academy?

Non è richiesta alcuna esperienza precedente. SwiftUI Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Test basati su snapshot e preview»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione SwiftUI Academy?

Sì. Ogni lezione SwiftUI Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Test unitari dei ViewModel
  2. Testare il codice asincrono
  3. Test UI con XCUITest
  4. Test basati su snapshot e preview
← Torna a SwiftUI Academy