Kotlin Multiplatform Academy · Pelajaran

Palsukan Klien & Repositori Ktor

Gunakan MockEngine dan objek palsu untuk pengujian deterministik.

Pelajaran 3 dari 413 langkah

Palsukan Klien & Repositori Ktor adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Kotlin Multiplatform Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Pengujian Tidak Boleh Mengakses Jaringan

Panggilan HTTP nyata lambat dan tidak stabil dalam pengujian. Sebagai gantinya, palsukan respons agar setiap proses berjalan cepat dan deterministik. 🎯

Ktor Menyediakan MockEngine

Ktor menyertakan MockEngine bawaan yang mengembalikan respons yang telah ditentukan, bukan membuat permintaan nyata.

Membuat Klien Palsu

Buat HttpClient di atas MockEngine, lalu tentukan dengan tepat byte dan status yang dikembalikannya.

val client = HttpClient(MockEngine) {
    engine { addHandler { respondOk("[]") } }
}

Mengembalikan JSON Khusus

Di dalam penangan, panggil respond dengan isi JSON dan header yang diharapkan dapat diuraikan oleh kode Anda.

respond(
    content = "{\"name\":\"Sam\"}",
    headers = headersOf(HttpHeaders.ContentType, "application/json")
)

Mensimulasikan Galat

Minta penangan mengembalikan status seperti 500 untuk memverifikasi penanganan galat tanpa server nyata.

respond("oops", HttpStatusCode.InternalServerError)

Menyuntikkan Klien

Repositori Anda harus menerima HttpClient sebagai parameter, sehingga pengujian dapat memberikan klien palsu dan kode produksi memberikan klien nyata.

class UserRepo(private val client: HttpClient)

Mengapa Menggunakan Repositori Palsu

Untuk menguji ViewModel, Anda bahkan tidak memerlukan Ktor: berikan repositori palsu yang mengembalikan data tetap.

Memalsukan Antarmuka

Karena repositori Anda bersembunyi di balik sebuah antarmuka, objek palsu hanyalah kelas kecil yang mengimplementasikannya dengan hasil yang telah ditentukan.

class FakeRepo : UserRepo {
    override suspend fun load(id: Int) = User("Sam")
}

Mengendalikan Jalur Kegagalan

Objek palsu juga dapat melemparkan galat saat diminta, sehingga Anda dapat menguji cara pemanggil merespons lapisan data yang gagal.

override suspend fun load(id: Int): User =
    throw IOException("offline")

Objek Palsu vs Mock

Objek palsu yang ditulis manual bersifat sederhana dan aman untuk lintas platform, sedangkan pustaka mock sering kali tidak memiliki dukungan penuh untuk Kotlin/Native.

Deterministik sejak Awal

Dengan MockEngine dan objek palsu, setiap pengujian mengendalikan masukannya, sehingga hasil tidak pernah bergantung pada jaringan atau keadaan bersama. ✅

Pemeriksaan Singkat

Pilih cara yang tepat untuk memalsukan HTTP.

Ringkasan

Ganti HTTP nyata dengan MockEngine dan suntikkan repositori palsu agar pengujian tetap cepat, terisolasi, dan dapat diprediksi.

Gratis untuk memulai

Belajar Kotlin dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Palsukan Klien & Repositori Ktor” gratis?

Ya — teks lengkap “Palsukan Klien & Repositori Ktor” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Multiplatform Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Palsukan Klien & Repositori Ktor”?

Gunakan MockEngine dan objek palsu untuk pengujian deterministik. Kamu berlatih Kotlin Multiplatform 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 Kotlin Multiplatform Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Multiplatform 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 3 dari 4.

Berapa lama pelajaran “Palsukan Klien & Repositori Ktor” 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 Kotlin Multiplatform Academy ini?

Ya. Setiap pelajaran Kotlin Multiplatform 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. kotlin.test dalam commonTest
  2. Uji Fungsi suspend & Flow
  3. Palsukan Klien & Repositori Ktor
  4. Jalankan Pengujian pada Target Android & iOS
← Kembali ke Kotlin Multiplatform Academy