Palsukan Klien & Repositori Ktor
Gunakan MockEngine dan objek palsu untuk ujian yang boleh ditentukan.
Palsukan Klien & Repositori Ktor ialah pelajaran Kotlin Multiplatform Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kotlin Multiplatform Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy merangkumi sejumlah 4 pelajaran.
Ujian Tidak Sepatutnya Mengakses Rangkaian
Panggilan HTTP sebenar adalah perlahan dan tidak konsisten dalam ujian. Sebaliknya, palsukan respons supaya setiap pelaksanaan pantas dan deterministik. 🎯
Ktor Menyediakan MockEngine
Ktor menyertakan MockEngine terbina dalam yang mengembalikan respons yang telah ditetapkan dan bukannya membuat permintaan sebenar.
Bina Klien Olok-olok
Bina HttpClient berasaskan MockEngine dan tentukan dengan tepat bait serta status yang dikembalikannya.
val client = HttpClient(MockEngine) {
engine { addHandler { respondOk("[]") } }
}Kembalikan JSON Tersuai
Di dalam pengendali, panggil respond dengan isi JSON dan pengepala yang dijangka dihuraikan oleh kod anda.
respond(
content = "{\"name\":\"Sam\"}",
headers = headersOf(HttpHeaders.ContentType, "application/json")
)Simulasikan Ralat
Biarkan pengendali membalas dengan status seperti 500 untuk mengesahkan pengendalian ralat anda tanpa pelayan sebenar.
respond("oops", HttpStatusCode.InternalServerError)Suntikkan Klien
Repositori anda sepatutnya menerima HttpClient sebagai parameter, supaya ujian menghantar klien olok-olok manakala kod pengeluaran menghantar klien sebenar.
class UserRepo(private val client: HttpClient)Sebab Menggunakan Repositori Palsu
Untuk menguji ViewModel, anda tidak memerlukan Ktor pun: hantarkan repositori palsu yang mengembalikan data tetap.
Palsukan Antara Muka
Oleh sebab repositori anda bersembunyi di sebalik antara muka, objek palsu hanyalah kelas kecil yang melaksanakannya dengan hasil yang telah ditetapkan.
class FakeRepo : UserRepo {
override suspend fun load(id: Int) = User("Sam")
}Kawal Laluan Kegagalan
Objek palsu juga boleh mencetuskan ralat apabila diminta, lalu membolehkan anda menguji reaksi pemanggil terhadap lapisan data yang gagal.
override suspend fun load(id: Int): User =
throw IOException("offline")Objek Palsu berbanding Objek Olok-olok
Objek palsu yang ditulis sendiri adalah mudah dan selamat untuk pelbagai platform, manakala pustaka olok-olok sering tidak mempunyai sokongan penuh untuk Kotlin/Native.
Deterministik melalui Reka Bentuk
Dengan MockEngine dan objek palsu, setiap ujian mengawal inputnya, jadi hasil tidak pernah bergantung pada rangkaian atau keadaan yang dikongsi. ✅
Semakan Pantas
Pilih cara yang betul untuk memalsukan HTTP.
Imbas Kembali
Gantikan HTTP sebenar dengan MockEngine dan suntik repositori palsu supaya ujian kekal pantas, terasing dan boleh dijangka.
Pelajari Kotlin dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Palsukan Klien & Repositori Ktor” percuma?
Ya — teks penuh “Palsukan Klien & Repositori Ktor” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Kotlin Multiplatform Academy, tingkat taraf kepada CoddyKit PRO. Kursus Kotlin Multiplatform Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Palsukan Klien & Repositori Ktor”?
Gunakan MockEngine dan objek palsu untuk ujian yang boleh ditentukan. Anda berlatih Kotlin Multiplatform Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kotlin Multiplatform Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kotlin Multiplatform Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Palsukan Klien & Repositori Ktor” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kotlin Multiplatform Academy ini?
Ya. Setiap pelajaran Kotlin Multiplatform Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- kotlin.test dalam commonTest
- Uji Fungsi suspend & Flow
- Palsukan Klien & Repositori Ktor
- Jalankan Ujian pada Sasaran Android & iOS