«mocking» etiketlenmiş sorular

Alay ve taklit, birim testlerinin yalnızca bir uygulamanın diğer bileşenlerini veya bağımlılıklarını kullanmadan test edilebilir kod birimine karşı çalışmasını sağlamak için kodu veya bileşenleri izole etmenin yoludur. Alay etme, bir testin sonuçlarını iddia etmek için bir alayın incelenebilmesi açısından taklit etmekten farklıdır.

4
Sahte nesneleri ne zaman kullanmalıyım?
TDD hakkında birçok şey okudum ama hala şüphelerim var. Örneğin, bu sınıf diyagramları var: Basit bir örnek, sadece TDD ve sahte nesneler hakkında bilgi edinmek için. Önce hangi testi yazmalıyım? Ürün , sonra Hat ve son, Sipariş ? Bunu yaparsam, Siparişi test etmek için Çizgi ve Ürün kullanmalı mıyım yoksa …

1
Görüntü işleme kodunu nasıl test edebilirim?
Görüntü işleme (özellikle OCR) üzerinde çalışıyorum ve birim testlerini gelişimime nasıl entegre etmem gerektiğini merak ediyorum. Zaten daha "ortak" kod türü için birim testleri kullanıyorum ama görüntü işleme kodu ile uğraşırken onunla başa çıkmak nasıl emin değilim. Bu tür bir kod her zaman bazı görüntü veri giriş / çıkışına ihtiyaç …

4
Karmaşık API'lara (örneğin Amazon S3) bağlı kod nasıl test edilir?
Amazon S3'e belge yükleyen bir yöntemi test etmekle uğraşıyorum, ancak bu sorunun önemsiz olmayan herhangi bir API / harici bağımlılık için geçerli olduğunu düşünüyorum. Sadece üç potansiyel çözüm buldum ancak hiçbiri tatmin edici görünmüyor: Kodu çalıştırın, aslında belgeyi yükleyin, AWS'nin API'sine yüklendiğini kontrol edin ve testin sonunda silin. Bu, testi …
13 testing  mocking 

4
Alaycılar Açık / Kapalı prensibini ihlal ediyor mu?
Bir süre önce, bulamadığım bir Yığın Taşması cevabında, genel API'leri test etmeniz gerektiğini açıklayan bir cümle okudum ve yazar arayüzleri test etmeniz gerektiğini söyledi. Yazar ayrıca, bir yöntem uygulaması değiştiyse, test senaryosunu değiştirmeniz gerekmediğini, çünkü bunu yapmak, test altındaki sistemin çalıştığından emin olmak için sözleşmeyi bozacağını açıkladı. Başka bir deyişle, …

2
Test - Bellek İçi DB ve Alay Etme
Testler yazarken, neden birisi sadece verileri alay etmek için bellek içi bir veritabanı kullanmak isteyesin ki? Bellek içi veritabanlarının bir kişinin depolarını test etmek için yararlı olabileceğini görebiliyordum. Ancak bir çerçeve (Spring Data gibi) kullanılıyorsa, havuzları test etmek, gerçekte uygulama mantığını değil, çerçeveyi test eder. Ancak alay, daha hızlı görünüyor …

3
Sabit kodlu nesne ile yöntem nasıl alay edilir?
Birden çok katmanı olan bir uygulama üzerinde çalışıyorum. Veri kaynağından veri almak ve kaydetmek için veri erişim katmanı, verileri değiştirmek için iş mantığı, verileri ekranda göstermek için kullanıcı arayüzü. Ayrıca iş mantığı katmanı üzerinde birim testi yapıyorum. Tek gereklilik, iş katmanı mantığının akışını test etmektir. Bu yüzden veri erişim katmanı …

3
Alaycı beton sınıfı - Tavsiye edilmez
Ben sadece beton sınıf alay tavsiye edilmeyen bazı nedenleri açıklayan bir "Nesne Odaklı Yazılım Büyüyen" bir alıntı okudum. Burada MusicCentre sınıfı için bir birim test örneği: public class MusicCentreTest { @Test public void startsCdPlayerAtTimeRequested() { final MutableTime scheduledTime = new MutableTime(); CdPlayer player = new CdPlayer() { @Override public void …

1
Ne kadar alay etmek “doğru?”
Soruyu şaka yollu bir şekilde yazdım çünkü "duruma bağlı" olduğundan eminim ama bazı sorularım var. Çok derin bağımlılık katmanlarına sahip yazılımlarda çalışan ekibim, her bir kod modülünü altındaki bağımlılıklardan ayırmak için oldukça kapsamlı bir şekilde alay kullanmaya başladı. Bu nedenle Roy Osherove'un bu videoda sadece% 5 gibi bir şeyle alay …

2
Dinamik bir dilde alay oluştururken yazım hataları nasıl algılanır?
TDD yapılırken sorun oluşur. Birkaç test geçişinden sonra, bazı sınıf / modüllerin dönüş tipleri değişir. Statik olarak yazılan bir programlama dilinde, başka bir sınıfın testlerinde önceki alaycı bir nesne kullanılmışsa ve tür değişikliğini yansıtacak şekilde değiştirilmemişse, derleme hataları oluşur. Ancak dinamik diller için, dönüş türlerindeki değişiklik algılanamayabilir ve diğer sınıfın …

5
TDD: Sıkıca bağlanmış nesneleri alay etmek
Bazen nesnelerin sıkıca bağlanması gerekir. Örneğin, bir CsvFilesınıf muhtemelen CsvRecordsınıfla (veya ICsvRecordarabirimle) sıkı bir şekilde çalışmalıdır . Ancak geçmişte öğrendiğim kadarıyla, test odaklı geliştirmenin ana ilkelerinden biri "Asla bir seferde birden fazla sınıfı test etmektir". Yani ICsvRecordgerçek örnekleri yerine alay veya saplamalar kullanmalısınız CsvRecord. Ancak bu yaklaşımı denedikten sonra, CsvRecordsınıftan …
10 tdd  coupling  mocking 

1
İşlevsel stil alay bağımlılıklarına nasıl yardımcı olur?
Yakın zamanda bir Java Dergisi sayısında Kent Beck ile yapılan röportajdan: Binstock: Mikro hizmetlerden bahsedelim. Bana göre, mikro hizmetlerde ilk test, bazı hizmetlerin işlev görmesi için bir dizi başka hizmetin varlığına ihtiyaç duyması açısından karmaşık hale gelecektir. Katılıyor musun? Beck: Bir büyük sınıfa veya çok sayıda küçük sınıfa sahip olmakla …

4
Yeni bir dil, TDD için kolay olacak şekilde sıfırdan tasarlanmışsa nasıl görünürdü?
Bazı en yaygın dillerle (Java, C #, Java, vb.) Bazen, kodunuzu tam olarak TDD yapmak istediğinizde, dil ile orantılı çalıştığınız anlaşılmaktadır. Örneğin, Java ve C # 'da, sınıflarınızın bağımlılıklarını alay etmek isteyeceksiniz ve çoğu alaycı çerçeve, sınıfları değil, arayüzleri taklit etmenizi önerecektir. Bu genellikle tek bir uygulama ile birçok arayüzünüz …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.