Создавай 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.

Шаги по созданию набора тестов и средства выполнения тестов

Шаг 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 Пример тестового набора

Рассмотрим более сложный пример

ЮнитТест.java

JunitTest.java — это простой класс, помеченный @Бежать с и @Люкс аннотации. Вы можете указать количество .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 наличие тестового метода для распечатки сообщения, как указано ниже. Вы будете использовать этот класс как набор в ЮнитТест.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);							
    }		

}		

Результат

После выполнения ЮнитТест.java, который содержит набор, имеющий test1.java и test2.java, вы получите результат ниже:

SuiteTest2.Java Результат

SuiteTest2.Java Результат

Резюме

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

  • Тестовое оборудование или автоматизация Тестирование это программное обеспечение или набор программного обеспечения, которое позволяет пользователю тестировать данные с несколькими входами и контролировать их выполнение.
  • Тестовая система фактически обеспечивает тестовую среду, которая выполняет всю работу по выполнению тестов с использованием тестовой библиотеки и созданию отчета о тестировании.
  • В Junit набор тестов позволяет нам собрать все тестовые примеры многих классов в одном месте и запустить их вместе.