'taklit arasındaki fark ne, dalga geçiyor ve stubbing?
Bu şartları nasıl kullandığımı biliyorum, ama eğer tanımları kabul olup olmadığını merak ediyorumnumara,alayvestubbingbirim testleri için mi? Testler nasıl bu tanımlıyorsunuz? Her kullanım durumları açıklar.
Onları kullanıyorum.
Sahtebir arabirimi uygulayan bir sınıf ama sabit veri ve mantık içerir. Sadece "" veya "kötü" veri uygulanmasına bağlı. iyi döner
Alaybir sınıf uygulayan bir arabirim ve yeteneği için dinamik olarak ayarlanmış değerlere dönüş/istisnalar atmak için belirli yöntemler ve sağlar için belirli yöntemler var oldu diye aramadı.
Saplama: Yöntem/adı "değil," olduğunu doğrulamak için yeteneği sağlamaz dışında sahte bir sınıf gibi.
Alay ve koçanları elle oluşturulan veya alaycı bir çerçeve oluşturulabilir. Sahte sınıflar el tarafından oluşturulur. Alay öncelikle benim sınıf ve bağımlı sınıflar arasındaki etkileşimleri doğrulamak için kullanıyorum. Etkileşimleri doğrulanmış ve benim kod boyunca alternatif yollar test ediyorum sonra koçanları kullanın. Sahte sınıfları alay/taslakları her zaman yapmak o kadar da sıkıcı olduğunda öncelikle soyut veri bağımlılığı ya da kullanıyorum.
CEVAP
Daha fazla bilgi alabilirsiniz :
Martin Fowler about Mock and Stub
Sahtenesneleri gerçekten çalışan uygulamalar var, ama genellikle onları üretim için uygun değildir yapar biraz kestirmeden
Koçanlarıtest için programlanmış içinde ne dışında aramalar testi, hiç bir şey vermiyor genellikle sırasında yapılan konserve cevaplar verin. Koçanları da aramaları, mesajları hatırlar e-posta ağ geçidi bir saplama gibi bilgileri kaydeder 'gönderilmiş' ya kaç sadece mesajları 'gönderdi'. belki de
Alay ediyorburada bahsettiğimiz şey vardır: önceden programlanmış almak için bekleniyor aramalarının bir şartname oluşturan beklentileri ile nesneleri.
xunitpattern:
Sahte Nesnebu hangi SÜT'E bağlı bir nesne olarak aynı arabirimi kullanır. Kullanabileceğimiz bir Alay Nesnesi olarak bir gözlem noktası ne zaman yapmamız gereken Davranış Doğrulama önlemek için test edilmemiş olması bir Gereklilik (bkz: Üretim Hataları sayfasında X) kaynaklanan bir yetersizlik gözlemlemek yan etkileri çağırma yöntemleri SUT.
SaplamaBu uygulama Denenmemiş Kodu (sayfa X Üretim Hataları) SUT içinde egzersiz olan değerleri ile SUT (veya istisna) gelen çağrılara yanıt vermek üzere yapılandırıldı. Test Saplama kullanarak için önemli bir gösterge Denenmemiş Kodu SUT dolaylı giriş kontrolü yetersizliği nedeniyle yaşıyor
SahteBiz veya SUT bağlıdır ve SUT kullanmak için talimat bir bileşen tarafından sağlanan aynı işlevselliği çok basit bir uygulama almak inşa etmek yerine, gerçek.
Şahsen
Kullanarak basitleştirmek için çalışıyorum : Mock ve Stub. Test sınıfı için ayarlanmış bir değer döndüren bir nesnenin zaman Alay kullanıyorum. Saplama test edilmesi için bir Arayüz ya da Soyut bir sınıf taklit etmek için kullanıyorum. Aslında, gerçekten, üretiminde kullanılan değil, ve yardımcı sınıflar olarak kullanılan tüm sınıflar test için ne dediğiniz önemli değil.
Django statik dosyalar ve medya dosyal...
Karma ve Şifreleme algoritmaları arası...
'vardır ve genişletmek arasındaki...
'Bağımlılık Enjeksiyon arasındaki...
String arasındaki fark replace() ve re...