[java] TestNG를 사용한 테스트 카테고리화 및 필터링

TestNG는 Java 기반의 강력한 테스트 프레임워크로, 테스트를 작성, 실행, 관리하는 데 많은 기능을 제공합니다. 이번 포스트에서는 TestNG의 테스트 카테고리화 및 필터링 기능을 사용하는 방법에 대해 알아보겠습니다.

테스트 카테고리 지정하기

TestNG에서는 @Test 어노테이션에 groups라는 속성을 사용하여 테스트에 카테고리를 지정할 수 있습니다. 예를 들어, 아래 코드에서는 sanity 카테고리에 속하는 테스트 메서드를 정의하고 있습니다.

@Test(groups = "sanity")
public void testMethod1() {
    // 테스트 내용...
}

여러 개의 카테고리를 지정하려면 속성 값으로 쉼표로 구분된 문자열을 사용하면 됩니다.

@Test(groups = {"sanity", "regression"})
public void testMethod2() {
    // 테스트 내용...
}

테스트 필터링

TestNG에서는 실행할 테스트를 카테고리별로 필터링하여 선택적으로 실행할 수 있습니다. 이를 통해 특정 카테고리에 속한 테스트만 실행하거나 제외할 수 있습니다.

특정 카테고리 실행

testng.xml 파일에서 <groups> 요소를 사용하여 실행할 테스트 카테고리를 지정할 수 있습니다. 아래 예제에서는 sanity 카테고리에 속한 테스트만 실행하는 설정을 보여줍니다.

<test>
    <groups>
        <run>
            <include name="sanity" />
        </run>
    </groups>
    ...
</test>

특정 카테고리 제외

<exclude> 요소를 사용하여 특정 카테고리를 제외할 수도 있습니다. 아래 예제에서는 regression 카테고리를 제외한 모든 테스트를 실행하는 설정을 보여줍니다.

<test>
    <groups>
        <run>
            <exclude name="regression" />
        </run>
    </groups>
    ...
</test>

결론

TestNG를 사용하면 테스트를 카테고리화하여 필터링하는 것이 매우 간단합니다. 이를 통해 테스트 스위트를 유연하게 관리하고 선택적으로 실행할 수 있으므로 테스트를 더 효과적으로 관리할 수 있습니다.

더 자세한 내용은 TestNG 공식 문서를 참조하시기 바랍니다.