Kotlin Multiplatform Academy · Ders

Ktor İstemcisini ve Depoları Taklit Etme

Belirlenebilir testler için MockEngine ve sahte nesneler kullanın.

3. ders / 413 adım

Ktor İstemcisini ve Depoları Taklit Etme, CoddyKit'te ücretsiz bir Kotlin Multiplatform Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Multiplatform Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.

Testler Ağa Bağlanmamalı

Gerçek HTTP çağrıları testlerde yavaş ve güvenilmezdir. Bunun yerine yanıtı taklit edin; böylece her çalıştırma hızlı ve deterministik olur. 🎯

Ktor, MockEngine ile Birlikte Gelir

Ktor, gerçek istekler göndermek yerine önceden hazırlanmış yanıtlar döndüren yerleşik bir MockEngine içerir.

Sahte Bir İstemci Oluşturun

MockEngine üzerine bir HttpClient oluşturun ve yanıtında tam olarak hangi baytların ve durumun bulunacağını belirleyin.

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

Özel JSON Döndürün

İşleyicinin içinde, kodunuzun ayrıştırmayı beklediği JSON gövdesi ve üstbilgilerle respond çağrısı yapın.

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

Hataları Benzetimle Oluşturun

Gerçek bir sunucu olmadan hata işleme kodunuzu doğrulamak için işleyicinin 500 gibi bir status ile yanıt vermesini sağlayın.

respond("oops", HttpStatusCode.InternalServerError)

İstemciyi Enjekte Edin

Deponuz HttpClient'ını parametre olarak almalıdır; böylece testler sahte istemciyi, üretim kodu ise gerçek istemciyi geçirir.

class UserRepo(private val client: HttpClient)

Sahte Bir Depo Neden Kullanılır

Bir ViewModel'i test etmek için Ktor'a bile ihtiyacınız yoktur: sabit veriler döndüren fake bir depo geçirin.

Bir Arayüzü Taklit Edin

Deponuz bir interface arkasında gizlendiği için sahte nesne, sabit sonuçlarla bunu uygulayan küçük bir sınıftan ibarettir.

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

Hata Yollarını Denetleyin

Sahte nesne isteğe bağlı olarak throw da edebilir; böylece çağıranların başarısız bir veri katmanına nasıl tepki verdiğini test edebilirsiniz.

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

Sahte Nesneler ve Taklitler

Elle yazılmış bir fake basit ve çok platformlu kullanıma uygundur; taklit kütüphaneleri ise genellikle tam Kotlin/Native desteğinden yoksundur.

Tasarımla Deterministik

MockEngine ve sahte nesneler sayesinde her test kendi girdilerini denetler; sonuçlar hiçbir zaman bir ağa veya paylaşılan state'e bağlı olmaz. ✅

Hızlı Kontrol

HTTP'yi taklit etmenin doğru yolunu seçin.

Özet

Gerçek HTTP yerine MockEngine kullanın ve sahte depolar enjekte edin; böylece testler hızlı, yalıtılmış ve öngörülebilir kalır.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Ktor İstemcisini ve Depoları Taklit Etme” dersi ücretsiz mi?

Evet — “Ktor İstemcisini ve Depoları Taklit Etme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Multiplatform Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.

“Ktor İstemcisini ve Depoları Taklit Etme” dersinde ne öğreneceğim?

Belirlenebilir testler için MockEngine ve sahte nesneler kullanın. Kotlin Multiplatform Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Multiplatform Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Multiplatform Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Ktor İstemcisini ve Depoları Taklit Etme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Multiplatform Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Multiplatform Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. commonTest içinde kotlin.test
  2. Askıya Alınabilir İşlevleri ve Akışları Test Etme
  3. Ktor İstemcisini ve Depoları Taklit Etme
  4. Android ve iOS Hedeflerinde Testleri Çalıştırma
← Kotlin Multiplatform Academy Sayfasına Dön