JUnit – Java’da Birim Testi(Unit Test)

Java’da en popüler test framework olarak JUnit kullanılmaktadır. JUnit dışında TestNG kullanılmaktadır. Fakat biz örneklerimizi JUnit üzerinden yapacağız.

JUnit bize;

Test sonrası edinilen sonuçların kontrolleri,

Ortak olan test verilerinin paylaşılması için test özellikleri,

Hazırlanmış test sınıflarını ortak olarak yürütmek için test suites,

Grafiksel ve metinsel test  yürütmesini sağlar.

İlk olarak JUnit kütüphanesini maven projemize eklenmesini için pom.xml dosyasına aşağıda ki bölümü ekledik.

 

JUnit ile ilgili ilk örneğimizi yapmadan önce Hesaplama adında bir sınıf ve bu sınıfta üçgenin alanını hesaplayan bir metot hazırladık.

Yukarıda ki sınıfın ardından aşağıda JUnit kullanarak ilk test metodumuzu yazdık. Test metotlarını tanımlamak için her metodun başına @Test annotation eklenmesi gerekmektedir.

Yukarıda ki metotda test metodu olduğu anlaşılması için isimlendirmelerde de metot isminin önüne “test” kelimesini ekliyoruz. Metot içersinde ilgili nesneleri çağırdıktan sonra metodumuza 3 ve 2 parametrelerini vererek sonuc isimli değişkene değerleri döndürüyoruz. Assert.assertEquals da ise elimizdeki sonucu 1. parametreye, beklediğimiz sonucu 2. parametreye ekliyoruz. Assert metodunda ki şart doğru olması durumunda ekrana sonucu ve test metodunun bittiğine dair çıktı verecektir.

Ekran çıktısı yukarıda ki beklediğimiz sonucu vermektedir.

Aşağıda ondlaıklı sonuc beklediğimizde test eden bir metotu yazalım.

Yukarı ki test metodunda, hesaplaUcgenAlani metodunda 3 ve 3 parametreleri sonucu 4.5 sonucu beklenmektedir. Fakat yukarıda ki ekran çıktısında beklediğimiz sonucu verememektedir. Bu beklenmedik durumdan sonra hesaplaUcgeninAlani isimli metodumuzu yeniden düzenliyoruz.

Yukarı metodumuuzn aldığı parametreyi ve dönüş tipini int yerine double yaparak ondalıklı sayı almasını sağladık. Test metodumuzu çalıştırdıktan sonra aşağıda ki sonucu almaktayız.

Evet testimiz başarıyla çalıştı ve beklediğimiz sonucu yaptığımız refactoring sonrası bize verdi.

Kodları daha önce yazılmamış yazılımların testleri yazılırken, önce test sınıfları ve bu sınıflara ait metotlar hazırlanmaktadır. Daha sonrasında kodlar yazılarak test işlemleri gerçekleştirmektedir.

Çalıştığım projede hemen hemen her metotda kullanılan bir işlevin değiştirilmesine karar verilmesi sonucunda bug oluşacağı aşikardı. Bu yüzden yaptığım değişiklikleri daha önce yazdığım test metotları aracılığıyla çalıştırdım. Toplam 44 test metodunun yaklaşık 20 saniye gibi bir süre içersinde çalışmasını tamamlamasıyla bozulan yerleri tek seferde görmemi sağladı. Test metotları olmasaydı projeyi manuel olarak test etmem gerekecekti. Belkide birçok noktanın gözümden kaçmasına neden olacaktı. Bu yüzden en başta zorlansakda herkesin test metotlarını yazmasını tavsiye ediyorum.


Java Developer

Yazıyı Paylaş

Related Articles

Yorum Yaz

© 2024 Onur Arslan. Tüm Hakları Saklıdır. · RSS Yazıları · RSS Yorumları