JUnit Category

JUnit Category(kategori) özelliği ile testlerimiz için kategoriler oluşturabiliriz. Test sırasında hangi kategorilerin teste dahil olup olmayacağına bu kategori tanımlarına göre karar verebiliriz. Kategorilendirmeler sınıf ve metot düzeyinde olabilir. Birden fazla kategori tanımı yapılabilir.

İlk olarak kategorilerimizi interface olarak oluşturuyoruz.

Aşağıda ClassA  ve ClassB isminde 2 adet test sınıfımızı ve bu sınıflara ait test kategorilerini tanımladık.

printA1 metodunda herhangi bir kategoriye dahil edilmediği için kategoriye göre testler çalıştırılırken değerlendiremye alınmayacaktır. printA2 metoduna ise metot düzeyinde kategori tanımlanmıştır(birden kategori tanımlanabilir). Bu kategori sınıfı PerformanceTest olarak belirtilmiştir.

Yukarıda, kategori sınıf düzeyinde tanımlanmıştır(birden fazla kategori tanımlanabilir). Bu sınıfda ki tüm metotlar sınıfda tanımlanan kategoriye dahil edilmişlerdir. Bu metotlara farklı kategoriler tanımlamak isterseniz hata alırsınız.

Kategorilendirmelerin çalışması için test suite yazdık. @RunWith içersinde Caegories.class tanımı ile kategorilendirmelere göre çalışacağını tanımladık. IncludeCategory’de ise hangi kategoride ki testlerin çalıştırılacağını belirtik. Birden fazla kategoriyi buraya ekleyebiliriz. SuiteClasses ile hangi test sınıflarının çalıştırılacağını belirterek testimizi çalıştırdık ve yukarıda ki sonucu ekrana yazdırdık.

Yukarıda benzer tanımları tekrardan yaptık. Farklı olarak ExcludeCategory tanımı yaptık. Burada yazılı olan sınıf/sınıfların bu test sürecinde çalıştırılmayacağını belirledik ve ekran çıktısını alarak kategoriye göre test yürütme işlemlerimizi başarıyla tamamladık.


Yazılıma olan tutkusu için Trakya Üniversitesi - Bilgisayar Teknolojisi ve Bilişim Sistemleri öğrencisi, bölüm temsilcisi ve Keşan Yusuf Çapraz Uygulamalı Bilimler Yüksekokulu okul temsilcisi olarak öğrenimini 2016'da tamamladı. Junior Java Developer olarak aktif iş hayatına devam etmektedir.

Yazıyı Paylaş

Recent Articles

Yorum Yaz

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