Junit Assert & AssertEquals ile Örnek

Junit Assert nedir?

Assert, bir test senaryosunun Başarılı veya Başarısız durumunu belirlemede yararlı bir yöntemdir. Assert yöntemleri, Java.lang.Object sınıfını genişleten org.junit.Assert sınıfı tarafından sağlanır.

Boolean, Null, Identical vb. gibi çeşitli iddia türleri vardır.

Junit, test senaryolarının yazılmasında ve test başarısızlığının tespit edilmesinde yararlı olan bir grup onaylama yöntemini sağlayan Assert adında bir sınıf sağlar.

Assert yöntemleri sınıf tarafından sağlanır org.junit.İddia hangisi uzanır java.lang.Object sınıf.

JUnit Yöntemleri iddia et

Boole

Boole koşullarını (doğru veya yanlış) test etmek istiyorsanız, aşağıdaki assert yöntemlerini kullanabilirsiniz

  1. iddiaTrue(koşul)
  2. iddiaYanlış(koşul)

Burada koşul bir boole değeridir.

Boş nesne

Bir nesnenin/değişkenin başlangıç ​​değerini kontrol etmek istiyorsanız, aşağıdaki yöntemlere sahipsiniz:

  1. iddiaNull(nesne)
  2. iddiaNotNull(nesne)

Burada nesne Java nesne Evliliğin bona fide bir evlilik olduğu şu belgeler ile ispatlanabilir: iddiaNull(gerçek);

Aynı

Nesnelerin aynı olup olmadığını (yani iki referansı aynı Java nesnesiyle karşılaştırmak) veya farklı olup olmadığını kontrol etmek istiyorsanız.

  1. iddiaSame(beklenen, gerçek), Eğer doğruysa dönecektir beklenen == gerçek
  2. iddiaNotSame(beklenen, gerçek)

Eşittir İddiası

İki nesnenin eşitliğini test etmek istiyorsanız, aşağıdaki yöntemlere sahipsiniz

  • iddiaEquals(beklenen, gerçek)

Aşağıdaki durumlarda true değeri dönecektir: beklenen.equals(gerçek) doğru döndürür.

Dizinin Eşit Olduğunu İddia Edin

Dizilerin eşitliğini test etmek istiyorsanız aşağıdaki yöntemleri kullanabilirsiniz:

  • iddiaArrayEquals(beklenen, gerçek)

Diziler aynı uzunluğa sahipse, her geçerli değer için yukarıdaki yöntem kullanılmalıdır. iaşağıda verildiği gibi kontrol edebilirsiniz:

  • iddiaEquals(beklenen[i],gerçek[i])
  • iddiaArrayEquals(beklenen[i],gerçek[i])

Başarısız Mesajı

Herhangi bir iddia hatası atmak istiyorsanız, hata() bu her zaman başarısız bir kararla sonuçlanır.

  • Başarısız(mesaj);

Ek bir iddia yöntemine sahip olabilirsiniz dizi parametresini ilk parametre olarak kullanın. Onay başarısız olursa bu dize başarısızlık mesajına eklenecektir. Örneğin başarısız (mesaj) olarak yazılabilir

  • iddiaEquals( mesaj, beklenen, gerçek)

JUnit iddiaEşittir

Sen var iddiaEşit(a,b) hangisine dayanır eşittir () Object sınıfının yöntemi.

  • Burada şu şekilde değerlendirilecektir: a.eşittir(b).
  • Burada test edilen sınıf uygun bir eşitlik ilişkisini belirlemek için kullanılır.
  • Bir sınıf geçersiz kılmazsa eşittir () yöntemi nesne sınıfın varsayılan davranışını alacaktır. eşittir () yöntem, yani nesne kimliği.

If a ve b gibi ilkellerdir bayt, int, boole, vb. ise assertEquals(a,b) için aşağıdakiler yapılacaktır:

a ve b eşdeğer sarmalayıcı nesne türüne dönüştürülecek (Bayt,Tamsayı, Boole, vb.) ve ardından a.eşittir(b) değerlendirilecektir.

Örneğin: Aşağıda belirtilen aynı değerlere sahip dizeleri düşünün, bunu AssertTrue kullanarak test edelim.

String obj1="Junit";
String obj2="Junit";
assertEquals(obj1,obj2);

Obj1.equals(obj2) true değerini döndürdüğü için yukarıdaki iddia ifadesi true değerini döndürecektir.

Kayan nokta iddiaları

Kayan nokta türlerini karşılaştırmak istediğinizde (örn. çift or şamandıra), gerekli ek bir parametreye ihtiyacınız var delta kayan nokta karşılaştırmaları yaparken yuvarlama hatalarıyla ilgili sorunları önlemek için.

İddia aşağıdaki gibi değerlendirilir:

  • Math.abs( beklenen – gerçek ) <= delta

Örneğin:

iddiaEquals(birDoubleDeğer, başkaDoubleDeğer, 0.001)

JUnit İddia Örneği

Aşağıdaki örnek, kullanarak bir koşulun nasıl öne sürüleceğini gösterir: JUnit yöntemleri ileri sürer.

adında basit bir test sınıfı oluşturalım. Junit4AssertionTest.java ve bir test koşucusu sınıfı TestRunner.java.

Birkaç değişken ve önemli iddia ifadeleri oluşturacaksınız. JUnit.

Bu örnekte test sınıfımızı TestRunner.java kullanarak çalıştıracaksınız.

) 1 Adım Junit'te tüm önemli iddia deyimi yöntemlerini kapsayan bir sınıf oluşturalım:

Junit4AssertionTest.java

package guru99.junit;		

import static org.junit.Assert.*;				
import org.junit.Test;		


public class Junit4AssertionTest {				

    @Test		
    public void testAssert(){					
        		
        //Variable declaration		
        String string1="Junit";					
        String string2="Junit";					
        String string3="test";					
        String string4="test";					
        String string5=null;					
        int variable1=1;					
        int	variable2=2;					
        int[] airethematicArrary1 = { 1, 2, 3 };					
        int[] airethematicArrary2 = { 1, 2, 3 };					
        		
        //Assert statements		
        assertEquals(string1,string2);					
        assertSame(string3, string4);					
        assertNotSame(string1, string3);					
        assertNotNull(string1);			
        assertNull(string5);			
        assertTrue(variable1<variable2);					
        assertArrayEquals(airethematicArrary1, airethematicArrary2);					
    }		
}		

) 2 Adım Yukarıdaki sınıfı yürütmek için bir test çalıştırıcısı sınıfı oluşturmanız gerekir:

TestRunner.java

package guru99.junit;		

import org.junit.runner.JUnitCore;		
import org.junit.runner.Result;		
import org.junit.runner.notification.Failure;		

public class TestRunner {				
			public static void main(String[] args) {									
      Result result = JUnitCore.runClasses(Junit4AssertionTest.class);					
			for (Failure failure : result.getFailures()) {							
         System.out.println(failure.toString());					
      }		
      System.out.println("Result=="+result.wasSuccessful());							
   }		
}      

) 3 Adım Beklenen çıktıyı adım adım analiz edelim:

Tüm iddia ifadelerini tek tek düşünün:

  1. iddiaEquals(dize1,dize2);

Şimdi string1=” Junit”i string2=” Junit” ile nesne sınıfının equals yöntemiyle karşılaştırın. AsserEquals yöntemini Java.lang.Object.equals() yönteminden değiştirmek:

string1.equals(string2)=> true değerini döndürür

Böylece iddiaEquals(string1,string2) değeri geri dönecektir gerçek.

  1. iddiaSame(string3, string4);

“assertSame()” işlevi, iki nesnenin aynı nesneye başvurup başvurmadığını kontrol etmektir.

string3=”test” ve string4=”test” hem string3 hem de string4'ün aynı türden olduğu anlamına geldiğinden,asserSame(string3, string4) işlevi geri dönecektir gerçek.

  1. iddiaNotSame(dize1, dize3);

“assertNotSame()” işlevi, iki nesnenin aynı nesneye gönderme yapıp yapmadığını kontrol etmektir.

string1=”Junit” ve string3=”test” hem string1 hem de string3'ün farklı türde olduğu anlamına geldiğinden,assertionNotSame(string1, string3) işlevi şunu döndürecektir: gerçek.

  1. iddiaNotNull(string1);

“assertNotNull()” işlevi bir nesnenin boş olup olmadığını kontrol etmektir.

string1= “Junit” boş olmayan bir değer olduğundan,assertionNotNull(string1) işlevi geri dönecektir. gerçek.

  1. iddiaNull(string5);

“assertNull()” işlevi bir nesnenin boş olup olmadığını kontrol etmektir.

null bir değer olan string5= null olduğundan, AssertNull(string5) değeri geri dönecektir. gerçek.

  1. iddiaTrue(değişken1

“assertTrue()” işlevi bir koşulun doğru olup olmadığını kontrol etmektir.

Değişken1=1 ve değişken2=2 olduğundan bu da değişken1'i gösterir. gerçek.

  1. iddiaArrayEquals(airethematicArrary1, airethematicArrary2);

“assertArrayEquals()” işlevi, beklenen dizi ile sonuç dizisinin eşit olup olmadığını kontrol etmektir. Dizinin türü int, long, short, char, byte veya java.lang.Object olabilir.

airethematicArrary1 = { 1, 2, 3 } ve airethematicArrary2 = { 1, 2, 3 } olduğundan, bu her iki dizinin de eşit olduğunu gösterir; bu nedenle iddiaArrayEquals(airethematicArrary1, airethematicArrary2) değeri geri dönecektir gerçek

Yedi iddia beyanının tamamından bu yana Junit4AssertionTest.java class true değerini döndürür, bu nedenle test iddia sınıfını çalıştırdığınızda başarılı bir test döndürecektir. (aşağıdaki çıktıya bakın)

) 4 Adım Junit4AssertionTest.java'ya sağ tıklayın ve runAs->'a tıklayınJUnit. Çıktıyı aşağıda verildiği gibi göreceksiniz:

JUnit İddia Örneği

Yukarıdaki çıktı beklendiği gibi başarılı bir test sonucunu göstermektedir.

ÖZET

Bu eğitimde, tarafından sağlanan tüm önemli iddia yöntemi türlerini öğrendiniz. JUnit. Ayrıca, iddia cümlelerinin örneklerini de gördünüz. Bu, eğer tüm iddia ifadeleri doğruysa, test GUI'sinin doğru bir sonuç döndüreceğini ve tek test başarısız olursa başarısız bir sonuç döndüreceğini gösterir.

Günlük Guru99 Bülteni

Gününüze, şu anda elinize ulaşan en son ve en önemli yapay zeka haberleriyle başlayın.