oluşturmak JUnit Örnekle Test Paketi: @RunWith @SuiteClasses

Junit'te test paketi, birden fazla sınıftan tüm test senaryolarını tek bir yerde toplamamıza ve birlikte çalıştırmamıza olanak tanır.

Paket testini çalıştırmak için aşağıda belirtilen ek açıklamaları kullanarak bir sınıfa açıklama eklemeniz gerekir:

  1. @Runwith(Suite.class)
  2. @SuiteClasses(test1.class,test2.class……) veya@Suite.SuiteClasses ({test1.class, test2.class……})

Yukarıdaki ek açıklamalarla paketteki tüm test sınıfları tek tek yürütülmeye başlayacaktır.

Test Paketi ve Test Çalıştırıcısı oluşturma adımları

) 1 Adım Basit bir test sınıfı oluşturun (örn. MyFirstClassTest) ve @test ile açıklamalı bir yöntem ekleyin.

Test Paketi ve Test Çalıştırıcısı Oluşturma Adımları

) 2 Adım Eklenecek başka bir test sınıfı oluşturun (örn. MySecondClassTest) ve @test ile açıklamalı bir yöntem oluşturun.

Test Paketi ve Test Çalıştırıcısı Oluşturma Adımları

) 3 Adım Bir testSuite oluşturmak için öncelikle sınıfa @RunWith(Suite.class) ve @SuiteClasses(class1.class2…..) ile açıklama eklemeniz gerekir.

Test Paketi ve Test Çalıştırıcısı Oluşturma Adımları

) 4 Adım Test paketimizi aşağıdaki gibi çalıştırmak için bir Test Runner sınıfı oluşturun;

Test Paketi ve Test Çalıştırıcısı Oluşturma Adımları

Kod Açıklaması:

  • Kod Satırı 8: Sınıfımızı çalıştıracak olan sınıf testinin ana yöntemini bildirmek JUnit testi.
  • Kod Satırı 9: Test sınıfı adını parametre olarak alan JunitCore.runclasses kullanılarak test senaryolarının yürütülmesi (Yukarıdaki örnekte, 3. adımda gösterilen TestSuiteExample.class kullanıyorsunuz).
  • Kod Satırı 11: Sonucun for döngüsü kullanılarak işlenmesi ve başarısız sonucun yazdırılması.
  • Kod Satırı 13: Başarılı sonucun yazdırılması.

Çıktı: Aşağıda belirtildiği gibi hiçbir arıza izi olmadan başarılı testi gösteren çıktı:

Test Paketi ve Test Çalıştırıcısı Oluşturma Adımları

JUnit Test Paketi Örneği

Daha karmaşık bir örneği ele alalım

JunitTest.java

JunitTest.java, açıklamalı basit bir sınıftır. @RunWith ve @Süit ek açıklamalar. Paketteki .classes sayısını aşağıda verildiği gibi parametre olarak listeleyebilirsiniz:

package guru99.junit;		
import org.junit.runner.RunWith;		
import org.junit.runners.Suite;		

@RunWith(Suite.class)				
@Suite.SuiteClasses({				
  SuiteTest1.class,
  SuiteTest2.class,  			
})		

public class JunitTest {				
			// This class remains empty, it is used only as a holder for the above annotations		
}

SuiteTest1.java

SuiteTest1.java aşağıda verildiği gibi bir mesajın çıktısını almak için bir test yöntemine sahip bir test sınıfıdır. Bu sınıfı yukarıda belirtilen sınıfta bir süit olarak kullanacaksınız.

package guru99.junit;		

import static org.junit.Assert.assertEquals;				

import org.junit.Test;		

public class SuiteTest1 {				

    public String message = "Saurabh";							

    JUnitMessage junitMessage = new JUnitMessage(message);							

    @Test(expected = ArithmeticException.class)					
    public void testJUnitMessage() {					

        System.out.println("Junit Message is printing ");					
        junitMessage.printMessage();			

    }		

    @Test		
    public void testJUnitHiMessage() {					
        message = "Hi!" + message;							
        System.out.println("Junit Hi Message is printing ");					
        assertEquals(message, junitMessage.printHiMessage());					
        System.out.println("Suite Test 2 is successful " + message);							
    }		
}		

SuiteTest2.java

SuiteTest2.java buna benzer başka bir test sınıfıdır SuiteTest1.java Aşağıda verildiği gibi bir mesajın çıktısını almak için bir test yöntemine sahip olmak. Bu sınıfı süit olarak kullanacaksınız. JunitTest.java.

package guru99.junit;		

import org.junit.Assert;		
import org.junit.Test;		

public class SuiteTest2 {				
   	

    @Test		
    public void createAndSetName() {					
        		

        String expected = "Y";					
        String actual = "Y";					

        Assert.assertEquals(expected, actual);					
        System.out.println("Suite Test 1 is successful " + actual);							
    }		

}		

Çıktı

Çalıştırdıktan sonra Junit Testisahip bir süit içeren .java test1.java ve test2.javaaşağıdaki çıktıyı alacaksınız:

Paket Testi2.Java Çıktı

Paket Testi2.Java Çıktı

ÖZET

Bu eğitimde, test koşumları ve test takımlarının temellerini bir örnekle detaylı bir şekilde öğrendiniz.

  • Kablo demetini veya otomasyonu test edin Test yapmak kullanıcının birden fazla girdiyle verileri test etmesine ve yürütmeyi kontrol etmesine olanak tanıyan bir yazılım veya yazılım koleksiyonudur
  • Test koşum takımı aslında bir test kütüphanesi kullanarak testleri yürütme ve bir test raporu oluşturma işinin tümünü yapan bir test çerçevesine olanak tanır
  • Junit'te test paketi, birçok sınıfın tüm test senaryolarını tek bir yerde toplamamıza ve birlikte çalıştırmamıza olanak tanır.