Pengujian Berbasis Snapshot & Preview
Temukan perubahan visual yang tidak diinginkan di berbagai state.
Pengujian Berbasis Snapshot & Preview adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SwiftUI Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SwiftUI Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
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. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pengujian Berbasis Snapshot & Preview” gratis?
Ya — teks lengkap “Pengujian Berbasis Snapshot & Preview” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SwiftUI Academy, upgrade ke CoddyKit PRO. Kursus SwiftUI Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pengujian Berbasis Snapshot & Preview”?
Temukan perubahan visual yang tidak diinginkan di berbagai state. Kamu berlatih SwiftUI Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai SwiftUI Academy?
Tidak diperlukan pengalaman sebelumnya. SwiftUI Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Pengujian Berbasis Snapshot & Preview” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran SwiftUI Academy ini?
Ya. Setiap pelajaran SwiftUI Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menguji ViewModels secara Unit
- Menguji Kode Asinkron
- Pengujian UI dengan XCUITest
- Pengujian Berbasis Snapshot & Preview