[java] TestNG를 사용한 병렬 테스트 실행

TestNG는 Java 기반의 테스트 프레임워크로, 테스트 수행을 보다 유연하게 관리하고 병렬 실행을 지원합니다. 이 글에서는 TestNG를 사용하여 병렬로 테스트를 실행하는 방법에 대해 알아보겠습니다.

1. TestNG 설치

먼저, TestNG를 설치해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다.

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.0.0</version>
    <scope>test</scope>
</dependency>

그리고 Maven 프로젝트를 업데이트하여 의존성을 추가합니다.

2. 병렬 실행 설정

TestNG에서 병렬로 실행할 테스트를 지정하려면 testng.xml 파일을 사용합니다. 다음은 testng.xml 파일의 예시입니다.

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="MyTestSuite" parallel="methods" thread-count="4" >
    <test name="MyTestClass1">
        <classes>
            <class name="com.example.MyTestClass1" />
        </classes>
    </test>

    <test name="MyTestClass2">
        <classes>
            <class name="com.example.MyTestClass2" />
        </classes>
    </test>
</suite>

위 예시에서 parallel 속성은 병렬 실행 방식을 지정하며, thread-count 속성은 사용할 스레드 수를 나타냅니다.

3. 병렬 테스트 실행

이제 TestNG를 사용하여 병렬로 테스트를 실행할 준비가 되었습니다. 다음은 Java 코드에서 TestNG를 사용하여 병렬 테스트를 실행하는 예시입니다.

import org.testng.TestListenerAdapter;
import org.testng.TestNG;

public class TestRunner {

    public static void main(String[] args) {
        TestListenerAdapter testListener = new TestListenerAdapter();
        TestNG testNG = new TestNG();
        testNG.setTestClasses(new Class[]{com.example.MyTestClass1.class, com.example.MyTestClass2.class});
        testNG.addListener(testListener);
        testNG.run();
    }
}

위 예시에서 MyTestClass1MyTestClass2는 병렬로 실행됩니다. setTestClasses 메소드를 사용하여 실행할 테스트 클래스를 지정하고, addListener 메소드를 사용하여 이벤트 리스너를 등록합니다.

4. 실행 결과 확인

테스트가 성공적으로 실행되면 각 테스트의 실행 결과가 출력됩니다. 이 결과를 통해 테스트가 제대로 실행되었는지 확인할 수 있습니다.

참고 자료

이제 TestNG를 사용하여 병렬로 테스트를 실행하는 방법을 알게 되었습니다. 테스트를 효율적으로 관리하고 시간을 절약하기 위해 TestNG를 활용해 보세요!