Створити JUnit Набір тестів із прикладом: @RunWith @SuiteClasses

У Junit набір тестів дозволяє нам об’єднувати всі тести з кількох класів в одному місці та запускати їх разом.

Щоб запустити тест набору, вам потрібно анотувати клас за допомогою наведених нижче анотацій:

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

З анотаціями вище всі тестові класи в пакеті почнуть виконуватися один за іншим.

Кроки для створення набору тестів і запуску тестів

Крок 1) Створіть простий тестовий клас (наприклад, MyFirstClassTest) і додайте метод із позначкою @test.

Кроки для створення набору тестів і запуску тестів

Крок 2) Створіть ще один тестовий клас для додавання (наприклад, MySecondClassTest) і створіть метод із позначкою @test.

Кроки для створення набору тестів і запуску тестів

Крок 3) Щоб створити testSuite, вам потрібно спочатку анотувати клас @RunWith(Suite.class) і @SuiteClasses(class1.class2…..).

Кроки для створення набору тестів і запуску тестів

Крок 4) Створіть клас Test Runner для запуску нашого набору тестів, як зазначено нижче;

Кроки для створення набору тестів і запуску тестів

Пояснення коду:

  • Рядок коду 8: Оголошення основного методу тесту класу, який запускатиме наш JUnit тест.
  • Рядок коду 9: Виконання тестів за допомогою JunitCore.runclasses, який приймає назву тестового класу як параметр (у наведеному вище прикладі ви використовуєте TestSuiteExample.class, показаний на кроці 3).
  • Рядок коду 11: Обробка результату за допомогою циклу for і друк невдалого результату.
  • Рядок коду 13: Роздрукування успішного результату.

вихід: Ось вихідні дані, які показують успішний тест без відстеження помилок, як наведено нижче:

Кроки для створення набору тестів і запуску тестів

JUnit Приклад набору тестів

Розглянемо більш складний приклад

JunitTest.java

JunitTest.java — це простий клас з анотаціями @RunWith та @Suite анотації. Ви можете перерахувати кількість .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 Вихід

Підсумки

У цьому підручнику ви детально ознайомилися з основами тестової системи та наборів тестів на прикладі.

  • Тест джгута або автоматики Тестування це програмне забезпечення або набір програмного забезпечення, яке дозволяє користувачеві тестувати дані за допомогою кількох вводів і контролювати виконання
  • Тестовий джгут фактично дає змогу створити тестову структуру, яка виконує всю роботу з виконання тестів за допомогою тестової бібліотеки та генерує тестовий звіт
  • У Junit набір тестів дозволяє нам об’єднувати всі тестові приклади багатьох класів в одному місці та запускати їх разом.