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 alay etmenin biraz kıllı olabileceğini fark ettim . Bu da beni iki sonuçtan birine götürüyor:
- Birim testleri yazmak zor! Bu bir kod kokusu! Elden Geçirme!
- Her bağımlılığın üstesinden gelmek mantıksızdır.
Alaylarımı gerçek CsvRecordörneklerle değiştirdiğimde işler çok daha sorunsuz geçti. Diğer insanların düşüncelerine bakarken , yukarıdaki # 2'yi desteklediği anlaşılan bu blog gönderisine rastladım . Doğal olarak sıkıca bağlı nesneler için alay konusunda çok endişelenmemeliyiz.
Pist dışında mıyım? Yukarıda # 2 varsayımının bir dezavantajı var mı? Aslında tasarımımı yeniden düzenlemeyi düşünmeli miyim?