만들기 JUnit 예제가 포함된 테스트 스위트: @RunWith @SuiteClasses
Junit에서 테스트 모음을 사용하면 여러 클래스의 모든 테스트 사례를 한곳에 모아서 함께 실행할 수 있습니다.
제품군 테스트를 실행하려면 아래에 언급된 주석을 사용하여 클래스에 주석을 달아야 합니다.
- @Runwith(Suite.class)
- @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 클래스를 생성합니다.
Code 설명 :
- Code 8 라인 : 우리를 실행할 클래스 테스트의 주요 메소드 선언 JUnit 테스트.
- Code 9 라인 : 테스트 클래스 이름을 매개변수로 받는 JunitCore.runclasses를 사용하여 테스트 케이스를 실행합니다(위의 예에서는 3단계에 표시된 TestSuiteExample.class를 사용하고 있습니다).
- Code 11 라인 : for 루프를 사용하여 결과를 처리하고 실패한 결과를 인쇄합니다.
- Code 13 라인 : 성공적인 결과를 인쇄해 보세요.
출력: 다음은 테스트가 실패 없이 성공적으로 완료되었음을 보여주는 출력 결과입니다. trace는 아래와 같습니다.
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, 다음과 같은 출력을 얻게 됩니다.
제품 개요
이 튜토리얼에서는 예제를 통해 테스트 하네스와 테스트 모음의 기본을 자세히 알아보았습니다.
- 테스트 하네스 또는 자동화 지원 사용자가 여러 입력을 사용하여 데이터를 테스트하고 실행을 제어할 수 있도록 하는 소프트웨어 또는 소프트웨어 모음입니다.
- 테스트 하네스는 실제로 테스트 라이브러리를 사용하여 테스트를 실행하고 테스트 보고서를 생성하는 모든 작업을 수행하는 테스트 프레임워크를 활성화합니다.
- Junit에서는 테스트 모음을 사용하여 여러 클래스의 모든 테스트 사례를 한곳에 모아서 함께 실행할 수 있습니다.







