Veri nesneleri koleksiyonu oluşturmak için bir yöntem test sürüşü. Nesnelerin özelliklerinin doğru ayarlandığını doğrulamak istiyorum. Bazı özellikler aynı şekilde ayarlanacaktır; diğerleri ise koleksiyondaki konumlarına bağlı bir değere ayarlanacaktır. Bunu yapmanın doğal yolu bir döngü ile görünmektedir. Ancak Roy Osherove, birim testlerde mantığın kullanılmamasını şiddetle tavsiye eder ( Art of Unit Testing , 178). Diyor:
Mantık içeren bir test genellikle bir seferde birden fazla şeyi test eder, bu tavsiye edilmez, çünkü test daha az okunabilir ve daha kırılgandır. Ancak test mantığı, gizli bir hata içerebilecek karmaşıklık da ekler.
Testler, genel bir kural olarak, kontrol akışı olmayan, hatta değil
try-catch
, onay çağrılarıyla bir dizi yöntem çağrısı olmalıdır.
Bununla birlikte, tasarımımla ilgili yanlış bir şey göremiyorum (değerlerinin bazıları nerede oldukları sırayla bağlı olan veri nesnelerinin bir listesini nasıl oluşturuyorsunuz? - bunları tam olarak ayrı ayrı oluşturamaz ve test edemezsiniz). Tasarımımla test dostu olmayan bir şey var mı? Yoksa Osherove'nin öğretisine çok katı bir şekilde bağlı mıyım? Ya da bilmiyorum bazı gizli birim testi sihir bu sorunu aşar? (C # / VS2010 / NUnit dilinde yazıyorum, ancak mümkünse dile özgü olmayan yanıtlar arıyorum.)
in
Test "Frob mevcut bir koleksiyona başarıyla eklendi" ise, ona güvenemezsiniz, bir döngü (veya Python's gibi bir dil özelliği ) gerekir.
toString()
Koleksiyonu ve ne olması gerektiğini karşılaştırırım. Basit ve çalışır.