Evet, tüm olaylar zincirini bir birim olarak test etmelisiniz. Bu nedenle, örneğinizde bir tabloya yerleştirilen ve birkaç tetikleyicinin yanmasına neden olan bir prosedürle, çeşitli girdiler için prosedürü değerlendiren birim testleri yazmalısınız. Her birim testi, doğru değerleri döndürüp döndürmemesine, tabloların durumunu doğru değiştirmesine, doğru e-postayı oluşturmasına ve hatta eğer böyle bir şey için tasarlanmışsa doğru ağ paketlerini göndermesine bağlı olarak başarılı veya başarısız olmalıdır. Kısacası, her etkide ünite doğrulanmalıdır.
Haklısın, ünite testlerinin tasarlanması biraz çalışma gerektiriyor, ancak bu işin çoğunun üniteyi manuel olarak test etmesi gerekiyor, üniteyi test etmek için gereken işi saklıyorsunuz, böylece gelecekte bir değişiklik yapıldığında tam ve önemli ölçüde kolay olabilir.
Verileri değiştirmek testi daha zorlaştırır, ancak testi daha az önemli hale getirmez ve aslında birim testinin değerini artırır; zira çoğu zaman ünitede bir değişiklik yapılmak yerine zorlukların yalnızca bir kez düşünülmesi gerekir. Kaydedilen veri kümeleri, kurulum / parçalamanın bir parçası olan ekler / güncellemeler / silme işlemleri ve dar kapsamlı işlemlerin tümü bunu kolaylaştırmak için kullanılabilir. Soru veritabanına özgü olmadığı için, ayrıntılar değişecektir.
Sınamayı veya birim sınamasını engellemeniz gereken yüksek veya düşük uçta hiçbir karmaşıklık eşiği yoktur. Şu soruları göz önünde bulundurun:
- Her zaman hatasız kod yazar mısın?
- Küçük birimler her zaman hatasız mıdır?
- Büyük bir birimin bir böceğinin olması doğru mudur?
- Bir felakete neden olmak için kaç tane böcek gerekir?
Yeni bir işe başladığınızı ve birçok yerde kullanılan küçük bir işleve optimizasyon yapmakla görevlendirildiğini varsayalım. Başvurunun tamamı, kimsenin bile hatırlamadığı bir çalışan tarafından yazılmıştır. Birimler normal beklenen davranışı tanımlayan dokümantasyona sahiptir, fakat çok az. Bunlardan hangisini bulmayı tercih edersiniz?
- Uygulamada hiçbir yerde birim testi yapılmaz. Değişikliği yaptıktan sonra, dokümantasyonda beklenen değerleri döndürdüğünden emin olmak için ünitenin kendisine karşı bazı manuel testler yapabilirsiniz. Daha sonra onu üretime çıkarabilir, parmaklarınızı çapraz tutabilir ve çalışacağını umabilirsiniz (sonuçta, her zaman hatasız kod yazabilirsiniz ve bir ünitedeki bir optimizasyon hiçbir zaman bir başkasını etkilemez) veya tüm uygulamanın nasıl yapıldığını öğrenmek için büyük miktarda zaman harcayabilirsiniz. çalışır, böylece doğrudan veya dolaylı olarak etkilenen her birimi manuel olarak test edebilirsiniz.
- Uygulama boyunca otomatik olarak günlük veya talep üzerine çalışan birim testleri. Yalnızca normal giriş değerlerini ve beklenen yanıtlarını değil, aynı zamanda anormal değerleri ve ortaya çıkan beklenen istisnaları da kontrol ederler. Değişikliği yapıp, uygulama için ünite test takımını çalıştırıyorsunuz ve diğer üç ünitenin artık beklenen sonuçları getirmediğini görüyorsunuz. İkisi iyi huyludur, bu yüzden bunu hesaba katacak birim sınamalarını değiştirirsiniz. Üçüncüsü, başka bir ince ayar ve küçük bir yeni birim testi gerektirir. Değişiklikleri yaptıktan sonra tüm testler başarılı olur ve değişikliği güvenle tamamlarsınız.