Birim testlerinin yürütülmesini engellemenin yolları olsa da, başarısız birim testlerinde kontrolün değeri nedir?
Basit bir örnek kullanacağım: Büyük / Küçük Harfe Duyarlılık. Geçerli kod büyük / küçük harfe duyarlıdır. Yönteme geçerli bir girdi "Cat" dir ve bir Animal.Cat enum döndürür. Ancak, yöntemin istenen işlevselliği büyük / küçük harfe duyarlı olmamalıdır. Bu yüzden açıklanan yöntem "kedi" geçirilirse, Animal.Cat yerine Animal.Null gibi bir şey dönebilir ve birim testi başarısız olur. Basit bir kod değişikliğinin bu işi yapmasına rağmen, daha karmaşık bir sorunun düzeltilmesi haftalar alabilir, ancak hatayı bir birim testle tanımlamak daha az karmaşık bir iş olabilir.
Şu anda analiz edilmekte olan uygulama "çalışır" kod 4 yıl vardır. Bununla birlikte, birim testlerle ilgili son tartışmalar kodda kusurlar bulmuştur. Bazıları sadece açık uygulama belgelerine (örn. Büyük / küçük harfe duyarlı veya değil) veya şu anda nasıl çağrıldığına bağlı olarak hatayı yürütmeyen koda ihtiyaç duyar. Ancak, hatanın görülmesine ve geçerli girdiler olmasına neden olacak belirli senaryoları çalıştırarak birim testleri oluşturulabilir.
Birisi kodu düzeltmek için etrafta dolaşana kadar hatayı kullanan birim testlerini kontrol etmenin değeri nedir?
Bir yapının yürütülen testlere göre başarılı olup olmadığını belirlemek için bu birim testi yoksay, öncelik, kategori vb. İle işaretlenmeli mi? Sonunda, kod çözüldüğünde kodun yürütülmesi için birim testi oluşturulmalıdır.
Bir yandan, tanımlanan hataların giderilmediğini gösterir. Öte yandan, günlüklerde görünen ve bir kod check-in işlemi nedeniyle başarısızlıklara karşı başarısızlıklara karşı başarısız olanların arasında ayıklanan yüzlerce başarısız birim testi bulmak zor olabilir.