0Pricing
Dart Academy · Pelajaran

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=coverage

Pemeriksaan 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

  1. test dan expect Pertama Anda
  2. group, setUp, dan tearDown
  3. Menguji Kode async dan Stream
  4. Mock, Fake, dan Cakupan
← Kembali ke Dart Academy