JUnit Beklenen İstisna Testi: @Test (beklenen)

İçindekiler:

Anonim

JUnit, tesisin istisnayı izlemesini ve ayrıca kodun beklenen istisnayı atıp atmadığını kontrol etmesini sağlar.

Junit4, istisna testi için kolay ve okunabilir bir yol sağlar.

  • @Test ek açıklamasının isteğe bağlı parametresi (beklenen) ve
  • Bilgiyi izlemek için "fail ()" kullanılabilir

İstisnayı test ederken, @test ek açıklamasının isteğe bağlı parametresinde sağladığınız istisna sınıfının aynı olduğundan emin olmanız gerekir . Bunun nedeni, Birim Testi yaptığınız yöntemden bir istisna beklemenizdir, aksi takdirde JUnit testimiz başarısız olur.

Örnek @ Test (beklenen = IllegalArgumentException.class)

"Beklenen" parametresini kullanarak, testimizin oluşturabileceği istisna adını belirtebilirsiniz. Yukarıdaki örnekte, bir geliştiricinin izin verilmeyen bir bağımsız değişken kullanması durumunda test tarafından atılacak " IllegalArgumentException" kullanıyorsunuz.

@Test kullanan örnek (beklenen)

İstisna atan bir yöntemle bir Java sınıfı oluşturarak istisna testini anlayalım. Bununla ilgilenecek ve bir test sınıfında test edeceksiniz. JUnitMessage.java'nın, kullanıcı tarafından alınan girdiye dayalı olarak basitçe matematiksel bir işlem yapan bir yönteme sahip olduğunu düşünün. Herhangi bir geçersiz argüman girilirse, "ArithmeticException " oluşturur . Aşağıya bakınız:

paket guru99.junit;public class JUnitMessage {private String mesajı;public JUnitMessage (Dize mesajı) {this.message = mesaj;}public void printMessage () {System.out.println (mesaj);int bölme = 1/0;}public String printHiMessage () {message = "Merhaba!" + mesaj;System.out.println (mesaj);geri dönüş mesajı;}}

Kod Açıklaması:

  • Kod Satırı 7: Alan başlatma ile parametreli bir kurucu oluşturma.
  • Kod Satırı 11-14: Matematiksel işlem için bir yöntem oluşturma.
  • Kod Satırı 18: Bir mesajı yazdırmak için başka bir yöntem oluşturma.
  • Kod Satırı 20: Bir mesaj yazdırmak için yeni bir dizi oluşturma.
  • Kod Satırı 21: 20. satırda oluşturulan yeni mesajı yazdırmak.

İstisnayı doğrulamak için yukarıdaki java sınıfı için bir test sınıfı oluşturalım.

Yukarıdaki java sınıfından birime test istisnası (burada ArithmeticException) test sınıfına bakın:

AirthematicTest.java

paket guru99.junit;statik org.junit.Assert.assertEquals içe aktar;import org.junit.Test;public class AirthematicTest {public String mesajı = "Saurabh";JUnitMessage junitMessage = yeni JUnitMessage (mesaj);@Test (beklenen = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Önemsiz Mesaj yazdırılıyor");junitMessage.printMessage ();}@Ölçekpublic void testJUnitHiMessage () {message = "Merhaba!" + mesaj;System.out.println ("Önemsiz Mesaj yazdırılıyor");assertEquals (mesaj, junitMessage.printMessage ());}}

Kod Açıklaması:

  • Kod Satırı 13: Testimizi oluşturmak için @Test ek açıklamasını kullanma. Yukarıdaki sınıflar yöntemini çalıştırırken, matematiksel bir işlem başlatacaktır. Burada Aritmetik İstisna bekleniyor, bu nedenle @ Testte bir parametre olarak listeliyorsunuz.
  • Kod Satırı 17: printMessage () JUnitMessage.java'yı çağırma
  • Kod Satırı 18: HI mesajını yazdırmak için başka bir yöntem oluşturma.

Bu test sınıfını yürütürseniz, test yöntemi tanımlanmış her bir parametre ile yürütülür. Yukarıdaki örnekte, test yöntemi beş kez yürütülmüştür.

Çalıştıralım ve sonucu doğrulayalım. JunitTestExample.java'yı çalıştırmak için test çalıştırıcı sınıfının altına bakın

Çıktı:

Aşağıda verilen hata izi olmadan başarılı testi gösteren çıktı:

Özet:

  • İstisna testi, JUnit4'te sunulan özel bir özelliktir. Bu öğreticide, @test (hariç) kullanarak JUnit'te istisnayı nasıl test edeceğinizi öğrendiniz.
  • Junit, tesisin istisnayı izlemesini ve ayrıca kodun istisna atıp atmadığını kontrol etmesini sağlar.
  • İstisna testi için kullanabilirsiniz
    • @Test ek açıklamasının isteğe bağlı parametresi (beklenen) ve
    • Bilgiyi izlemek için "fail ()" kullanılabilir