JUnit Assert Metotlar

JUnit, belirli koşulları test etmek için isimleri assert ile başlayan statik metotları sağlar. Bu metotlarla beklenen ve gerçek değerleri karşılaştırarak testimizi sonuçlandırırız. Bu kıyaslama başarısız olursa AssertionException ile hata mesajı verilir.

Örnekerimizde daha önce ki yazılarımızda da kullandığımız Hesaplama sınıfını kullanacağız.

assertEquals([mesaj], beklenen,gercek)

assertEquals metodu aracılığı ile belirtilen nesnelerin veya primitive değerlerin kıyaslaması  yapılır. Eğer bu kıyaslama başarısız olursa hata mesajı verir. Hata mesajına ek mesaj yazmak istediğimizde parametrenin başına mesajımızı yazabiliriz. Bu kıyaslama metodunda diziler kullanılmaz. Diziler için assertArrayEquals metodu kullanılması gerekmektedir.

Yukarıda ki test metodunda assertEquals metoduna beklenen değerin 3, elde edilen değerin ise sonuc değişkeninde olduğu tanımlanarak kıyaslama yapılması sağlanmıştır. Beklenen ile elde edilen değer farklı olsaydı, AssertException’dan dolayı test metodu ilerlemeye devam etmeyecektir.

assertTrue ve assertFalse

assertTrue, koşul sonucunun true olmasında, assertFalse koşul sonucunun false olmasında çalışmaya devam edecektir. Metot içinde koşul tanımlamak yerine direk boolean değişkende verilebilir.

Yukarıda ki kullanımda beklenen değer 3’ü, elde edilen sonuc değişkeninin değeriyle kıyaslar. 3 ve sonuc değişkeninden gelen 3 değeri eşit olduğu için true döner. True değeri, assertTrue için doğru değerdir ve test metodu çalışmaya devam edecektir.

Yukarıda ki kullanımda beklenen değer 4’ü, elde edilen sonuc değişkenin değeriyle kıyaslar. 4 ve sonuc değişkenine gelen 3 değeri eşit olmadığı için false döner. False değeri, assertFalse için doğru değerdir ve test metodu çalışmaya devem edecektir.

assertNull ve assertNotNull

assertNull, nesnenin null olmasını kontrol eder. Null olması durumunda test metodu çalışmaya devam edecektir. assertNotNull, nesnenin null olmadığını kontrol eder. Nesne null değer değilse test metodu çalışmaya devam edecektir.

sonuc değişkeninin null değer alabilmesi için primitive tip olan int yerine, object olan Integer sınıfı üzerinden tipi tanımlanmıştır. assertNotNull ile sonuc değişkeninin null olup olmadığını kontrol eder. Eğer sonuc null değer değilse test metodu bunu doğru kabul eder ve çalışmaya devam edecektir. Daha sonrasında sonuc değişkenine null değeri atanarak assertNull ile değişken üzerinde null kontrolü yapılmıştır. assertNull için beklenen değer null olduğundan test metodu çalışmaya devam edecektir.

assertSame ve assertNotSame

assertSame, beklenen ve elde edilen nesnelerin aynı nesneyi işaret edip etmediği kıyaslanır. assertNotSame ise bu değerlerin aynı nesneyi işaret edip etmediği kıyaslanır. Bu kıyaslamalar sağlanması durumunda test metodu çalışmaya devam edecektir.

sonuc ve sonuc2 değişkenleri aynı nesneyi işaret ettiği için assertSame metoduna göre doğru sonuçtur. sonuc2 ve sonuc3 aynı nesneyi işaret etmediği için assertNotSame metoduna göre doğru sonuçtur. Test metodu doğru çalışmaya devam edecektir.

sonuc2 ve sonuc aynı nesneyi işaret etmesinin nedeni, sonuc değişkeninin, sonuc2’ye birebir atanmasıdır. sonuc3 değişkeni ise new ile yeni bir nesne oluşturulduğu için aynı değeri taşımasına rağmen sonuc2 ile aynı nesneyi işaret etmemektedir.

assertArrayEquals

Dizilerin karşılaştırılması için assertArrayEquals metodu kullanılması gerekmektedir. Bu dizilerin içinde ki öğelerin sıralamarıda birebir aynı olması gerekmektedir.

Yukarıda ki test metodunda iller ve iller2 isimli dizilerin karşılaştırılması  yapılmıştır. Diziler içinde ki değerler birebir aynı oldukları için test metodu doğru kıyaslamadan dolayı çalışmaya devam edecektir.


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ş

Related Articles

Yorum Yaz

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