Mock, Fake, dan Cakupan
Mengisolasi unit dan mengukur bagian yang Anda uji
Mock, Fake, dan Cakupan adalah pelajaran Dart 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 Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.
Isolasi Unit
Pengujian unit harus memeriksa satu bagian secara terisolasi. Basis data atau jaringan nyata membuat pengujian lambat dan tidak stabil, jadi kita menggantinya. 🔌
Pengganti Pengujian
Pengganti pengujian digunakan sebagai pengganti dependensi nyata. Mock, fake, dan stub adalah jenis umum yang dapat Anda gunakan.
Apa Itu Fake
Fake memiliki implementasi yang berfungsi tetapi disederhanakan, seperti daftar dalam memori yang menggantikan basis data nyata.
class FakeRepo implements Repo {
final _items = <Item>[];
}Apa Itu Mock
Mock mencatat cara pemanggilannya sehingga Anda dapat memverifikasi interaksi, bukan hanya nilai akhir.
Paket mockito
Paket mockito membuat mock untuk Anda. Anotasikan jenis yang diinginkan lalu jalankan build_runner untuk membuatnya.
@GenerateMocks([Repo])
import 'repo_test.mocks.dart';Membuat Stub dengan when
Gunakan when untuk mengatur mock: ketika metode ini dipanggil, kembalikan nilai ini, sehingga perilakunya dapat diprediksi.
when(repo.find(1))
.thenReturn(Item('a'));Memverifikasi Pemanggilan
Gunakan verify untuk menegaskan bahwa suatu metode dipanggil, termasuk berapa kali pemanggilan terjadi, dan membuktikan bahwa kode Anda berkomunikasi dengan dependensinya secara benar.
verify(repo.save(any)).called(1);Membuat Stub Asinkron
Untuk metode yang mengembalikan Future, atur perilakunya dengan thenAnswer agar mock dapat mengembalikan hasil asinkron.
when(api.load())
.thenAnswer((_) async => 'ok');Mock atau Fake
Gunakan fake saat Anda memerlukan perilaku yang realistis, dan gunakan mock saat Anda peduli pada pemanggilan yang terjadi.
Arti Cakupan
Cakupan mengukur baris mana yang benar-benar dijalankan oleh pengujian Anda. Cakupan tinggi menunjukkan ketelitian, tetapi tidak pernah menjamin kebenaran.
Membuat Cakupan
Jalankan pengujian dengan pengumpulan cakupan, lalu ubah datanya menjadi laporan yang dapat Anda baca atau unggah ke alat.
dart test --coverage=coveragePemeriksaan Singkat
Pengganti mana yang mencatat pemanggilan agar Anda dapat memverifikasinya?
Ringkasan
Anda mengisolasi unit dengan fake dan mock, membuat stub dengan when, memverifikasi pemanggilan, dan mengukur cakupan. Pengujian yang cepat, terfokus, dan dapat dipercaya. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mock, Fake, dan Cakupan” gratis?
Ya — teks lengkap “Mock, Fake, dan Cakupan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mock, Fake, dan Cakupan”?
Mengisolasi unit dan mengukur bagian yang Anda uji Kamu berlatih Dart 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 Dart Academy?
Tidak diperlukan pengalaman sebelumnya. Dart 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 “Mock, Fake, dan Cakupan” 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 Dart Academy ini?
Ya. Setiap pelajaran Dart 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
- test dan expect Pertama Anda
- group, setUp, dan tearDown
- Menguji Kode async dan Stream
- Mock, Fake, dan Cakupan