만들기 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를 사용하여 테스트 케이스를 실행합니다(위의 예에서는 3단계에 표시된 TestSuiteExample.class를 사용하고 있습니다).
  • 코드 라인 11: for 루프를 사용하여 결과를 처리하고 실패한 결과를 인쇄합니다.
  • 코드 라인 13: 성공적인 결과를 인쇄해 보세요.

출력: 다음은 아래와 같이 실패 추적 없이 성공적인 테스트를 보여주는 출력입니다.

테스트 스위트 및 테스트 실행기를 생성하는 단계

JUnit 테스트 스위트 예

좀 더 복잡한 예를 생각해 보자

JunitTest.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 아래와 같이 메시지를 인쇄하는 테스트 방법이 있습니다. 이 클래스를 제품군으로 사용하게 됩니다. 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);							
    }		

}		

산출

실행 후 주닛테스트.java에는 다음이 포함된 제품군이 포함되어 있습니다. test1.java 그리고 test2.java, 다음과 같은 출력을 얻게 됩니다.

SuiteTest2.Java 산출

SuiteTest2.Java 산출

요약

이 튜토리얼에서는 예제를 통해 테스트 하네스와 테스트 모음의 기본을 자세히 알아보았습니다.

  • 테스트 하네스 또는 자동화 지원 사용자가 여러 입력을 사용하여 데이터를 테스트하고 실행을 제어할 수 있도록 하는 소프트웨어 또는 소프트웨어 모음입니다.
  • 테스트 하네스는 실제로 테스트 라이브러리를 사용하여 테스트를 실행하고 테스트 보고서를 생성하는 모든 작업을 수행하는 테스트 프레임워크를 활성화합니다.
  • Junit에서는 테스트 모음을 사용하여 여러 클래스의 모든 테스트 사례를 한곳에 모아서 함께 실행할 수 있습니다.