Bir test dublörü, testte gerçek bir bağımlılığın yerini alır. Stub hazır cevaplar döner ve hiçbir şeyi kontrol etmez. Mock, nasıl çağrıldığını da kaydeden bir stub’dur; böylece test etkileşimin gerçekleştiğini doğrulayabilir — “charge, 20 ile bir kez çağrıldı”. Fake ise bellek içi bir veritabanı ya da durum tutan bir API gibi çalışan, basitleştirilmiş bir uygulamadır.
Stub’lar yalnızca bağımlılığın cevap vermesine ihtiyaç duyan testlere uyar. Mock’lar, çağrının kendisinin doğrulanan davranış olduğu testlere uyar. Fake’ler ise sıralı adımları — oluştur, sonra oku, sonra güncelle — çalıştıran testlere uyar; orada hazır cevaplar her adımı önceden tahmin etmek zorunda kalırdı. HTTP testinde üçüne de gevşek bir şekilde “mock API” denir.
Daha çok mock’lamanın daha iyi yalıtım demek olduğu sanılır. Aşırı mock’lanmış testler kodun ne yaptığını değil nasıl yazıldığını doğrular; her yeniden düzenlemede kırılır ve gerçek entegrasyon hatalarını kaçırır. Gerçek servis gibi davranan bir fake, daha az kurulumla çoğu zaman daha fazlasını yakalar.
Bu oyun alanı dar anlamıyla bir fake’tir: yazmalar sandbox’ınızda kalıcıdır; bir POST sonraki bir GET’e görünür, sürümler ilerler ve stok tükenir — bir stub’ın sahip olamayacağı davranışlar.
Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı
Son güncelleme