Bu soru üzerine biraz şeytan savunucusu oynamam gerekiyor çünkü deneyim eksikliği yüzünden iyi savunamıyorum. İşte anlaşma, kavramsal olarak birim test ve entegrasyon testi arasındaki farkları alıyorum . Özellikle kalıcılık yöntemlerine ve depoya odaklanırken, birim testi, aranan bir siparişin beklendiği gibi iade edildiğini iddia etmek için muhtemelen Moq gibi bir çerçeve aracılığıyla bir sahte kullanır.
Aşağıdaki birim testini yaptığımı varsayalım:
[TestMethod]
public void GetOrderByIDTest()
{
//Uses Moq for dependency for getting order to make sure
//ID I set up in 'Arrange' is same one returned to test in 'Assertion'
}
Bu yüzden ben OrderIdExpected = 5
kurarsam ve sahte nesnem 5
kimlik olarak geri dönerse testim geçer. Anladım. Ben birim test emin Ya benim kod preform döner beklenen nesne ve kimliği ve başka değil bir şey yapmak için kodu.
Ben alacağım argüman şudur:
"Neden sadece birim testleri atlamak ve entegrasyon testleri yapmak? Bu veritabanı saklı yordamı ve kodunuzu birlikte test önemli. Bu sonuçta veritabanı çağırır bilmek bilmek istiyorum, birim testleri ve entegrasyon testleri için çok fazladan fazla iş gibi görünüyor Testlerin daha uzun sürdüğünü biliyorum, ama ne olursa olsun çalıştırılmalı ve test edilmelidir, bu yüzden her ikisine de sahip olmak bana anlamsız geliyor.
Bunu bir ders kitabı tanımı ile savunabilirim: "Eh, bu bir entegrasyon testi ve kodu bir birim test olarak ayrı ayrı test etmemiz gerekiyor, yada, yada, yada ..." Bu, uygulamaların saf bir açıklamasının olduğu bir durum vs gerçeklik kaybediyor. Bazen bununla karşılaşıyorum ve sonuçta dış bağımlılıklara dayanan birim test kodunun ardındaki mantığı savunamıyorsam, bunun için bir dava açamıyorum.
Bu sorudaki herhangi bir yardım büyük beğeni topluyor, teşekkürler!