Özellikle diğer hizmetler daha modüler uygulanması hale getirmek için tasarlanmış üç diğer hizmetleri bağlayan bir sınıf var ama benim birim test mantığının toplu sahte doğrulama içindedir. Bunu önlemek için yeniden tasarlamanın bir yolu var mı?Çoğunlukla sahte doğrulama bir koku olan bir birim testi mi yapıyor?
Python örneği:
class Input(object): pass
class Output(object): pass
class Finder(object): pass
class Correlator(object): pass
def __init__(self, input, output, finder):
pass
def run():
finder.find(input.GetRows())
output.print(finder)
Daha sonra, giriş, çıkış ve bulucu taklit gerekir. Başka bir soyutlama yapsam ve Correlator.run() öğesinden bir şey döndürsem bile, yine de sahte olarak test edilmek zorunda kalacak. Sadece birim testini kullanmak için hiçbir neden yok
Tam olarak sorunun nedir? Sekiz bağımlılığa ihtiyaç duyan sınıflarım var ... tasarımınız doğruysa ve soyutlamalarınızın tutarlı olduğunu düşünüyorsanız, kodunuzu değiştirmeyeceğim. – Simone
Beni rahatsız eden şey, sınıfın tek amacının entegrasyon olmasıydı, bu yüzden test etmenin en iyi yolu bir entegrasyon testi olurdu. Her zaman önce bağımsız ünite testleri için uğraştım, ardından mimari olgunlaştıkça entegrasyon testleri yaptım. Tahmin et, sadece bunun olmasına izin vermeliyim. – bluehavana