Създаване на JUnit Тестови пакет с пример: @RunWith @SuiteClasses

В Junit тестовият пакет ни позволява да обединим всички тестови случаи от множество класове на едно място и да ги стартираме заедно.

За да изпълните теста на пакета, трябва да анотирате клас, като използвате по-долу споменатите анотации:

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

С горните анотации всички тестови класове в пакета ще започнат да се изпълняват един по един.

Стъпки за създаване на Test Suite и Test Runner

Стъпка 1) Създайте прост тестов клас (напр. MyFirstClassTest) и добавете метод, анотиран с @test.

Стъпки за създаване на Test Suite и Test Runner

Стъпка 2) Създайте друг тестов клас за добавяне (напр. MySecondClassTest) и създайте метод, анотиран с @test.

Стъпки за създаване на Test Suite и Test Runner

Стъпка 3) За да създадете testSuite, трябва първо да анотирате класа с @RunWith(Suite.class) и @SuiteClasses(class1.class2…..).

Стъпки за създаване на Test Suite и Test Runner

Стъпка 4) Създайте клас Test Runner, за да изпълните нашия тестов пакет, както е дадено по-долу;

Стъпки за създаване на Test Suite и Test Runner

Обяснение на кода:

  • Кодов ред 8: Деклариране на основния метод на теста на класа, който ще изпълнява нашия JUnit тест.
  • Кодов ред 9: Изпълнение на тестови случаи с помощта на JunitCore.runclasses, който приема името на тестовия клас като параметър (В примера по-горе вие ​​използвате TestSuiteExample.class, показан в стъпка 3).
  • Кодов ред 11: Обработка на резултата с помощта на цикъл for и отпечатване на неуспешен резултат.
  • Кодов ред 13: Отпечатване на успешния резултат.

Изход: Ето изхода, който показва успешен тест без следа от грешка, както е дадено по-долу:

Стъпки за създаване на Test Suite и Test Runner

JUnit Пример за тестов пакет

Помислете за по-сложен пример

JunitTest.java

JunitTest.java е прост клас, анотиран с @RunWith намлява @Апартамент анотации. Можете да посочите броя на .classes в пакета като параметри, както е дадено по-долу:

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 е тестов клас с тестов метод за отпечатване на съобщение, както е дадено по-долу. Ще използвате този клас като пакет в гореспоменатия клас.

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 е друг тестов клас, подобен на SuiteTest1.java има тестов метод за отпечатване на съобщение, както е дадено по-долу. Ще използвате този клас като пакет в 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);							
    }		

}		

Продукция

След изпълнение JunitTest.java, който съдържа пакет с test1.java намлява test2.java, ще получите по-долу резултат:

SuiteTest2.Java Продукция

SuiteTest2.Java Продукция

Oбобщение

В този урок научихте основите на тестовата система и тестовите пакети в детайли с пример.

  • Тествайте снопа или автоматизацията Тестване е софтуер или колекция от софтуер, който позволява на потребителя да тества данни с множество входове и да контролира изпълнението
  • Тестовият пакет всъщност позволява тестова рамка, която върши цялата работа по изпълнение на тестове с помощта на тестова библиотека и генериране на тестов отчет
  • В Junit тестовият пакет ни позволява да обединим всички тестови случаи на много класове на едно място и да ги стартираме заедно.