JUnit Parameterized

JUnit Parameterized, bir test sınıfında verilen farklı parametrelerle test metotları çalıştırılır. Tanımladığımız parametreler sayesinde test metotlarını farklı değerler ile tekrar çalıştırmış oluruz. Bu yöntem ile aynı test metotlarını farklı değerler için oluşturmamızın önüne geçmiş oluruz.

Yukarıda Hesapla isimli sınıfa carpma adında static bir metot oluşturarak verilen 2 parametrenin sonuçlarını döndürüyoruz. Aşağıda ise parametreli test sınıfımızı oluşturduk.

@RunWith(value = Parameterized.class) ile test sınıfının parametreli bir sınıf olacağını tanımlıyoruz. Bu özelliği kullanacağımız zaman bu zorunludur. HesaplaTest isimli sınıfımızın yapıcı metodu s1, s2 ve expected adında 3 parametre almaktadır. Bu parametreleri yukarıda yer alan değişkenlerimize gönderiyoruz. @Parameters notasyonlu, data isminde static bir metot oluşturuyoruz. Bu metot içersinde test metotlarımızda kullanacağımız test verilerimizi tanımlıyoruz. Metot içersinde 4 satır 3 sütunluk verileri tanımlıyoruz. Bu verilerin sırası yapıcı metodumuzun sırasıyla aynı olmalıdır. Örneğin, 0.indiste yer alan 1 sayısı s1, 2 sayısı s2 ve diğer 2 sayısı expected değişkenlerini işaret etmektedir.

testCarpma isminde metodumuzda yukarıda ki s1,s2 ve expected değişkenlerimizi ilgili yerlerde kullanıyoruz. Testin yaptığı kıyaslamalar doğrı olması durumunda expected değişken değerlerini ekrana yazdırıyoruz.

data static metodunda verdiğimiz her değeri sırasıyla test metodumuzda denediğini, ekran çıktısından rahatlıkla anlayabiliyoruz. Her yeni değer için aynı test metodu tekrardan başlıyor.

Aşağıda ki aynı örnekte parametreleri yapıcı metot(constructor) olmadan almaktadır.

Yapıcı metot kaldırılmış yerine parametre olarak kullandığımız değişkenlere @Parameter notasyonu tanımlanmıştır. value ile parametrelerin sırası belirlenmiş olup bu sıralama 0 sayısından başlamak zorunludur. Testi çalıştırıp aşağıda ki ekran çıktısına baktığımızda sonuçların değişmediğini görmekteyiz.

 


Java Developer

Yazıyı Paylaş

Related Articles

Yorum Yaz

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