[java] TestNG에서 테스트 실행 전/후 작업 추가하기

TestNG를 사용하면 테스트 실행 전후에 다양한 작업을 추가할 수 있습니다. 이러한 작업은 @BeforeMethod@AfterMethod 어노테이션을 사용하여 쉽게 구현할 수 있습니다.

@BeforeMethod 어노테이션

@BeforeMethod 어노테이션을 사용하여 각 테스트 메소드가 실행되기 전에 특정 작업을 수행할 수 있습니다. 예를 들어, 데이터베이스 연결을 설정하거나 초기화 작업을 수행할 수 있습니다. 아래는 간단한 예제입니다.

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class MyTestClass {
    @BeforeMethod
    public void setUp() {
        // 각 테스트 메소드 실행 전에 실행될 작업 수행
    }
    
    @Test
    public void testMethod1() {
        // 테스트 메소드 1
    }
    
    @Test
    public void testMethod2() {
        // 테스트 메소드 2
    }
}

위의 예제에서 setUp 메소드는 각 테스트 메소드가 실행되기 전에 호출됩니다.

@AfterMethod 어노테이션

@AfterMethod 어노테이션을 사용하여 각 테스트 메소드가 실행된 후에 특정 작업을 수행할 수 있습니다. 예를 들어, 데이터 정리 또는 리소스 해제와 같은 작업을 수행할 수 있습니다. 아래는 간단한 예제입니다.

import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;

public class MyTestClass {
    // @BeforeMethod 메소드는 이전 예제와 동일하므로 생략합니다.
    
    @Test
    public void testMethod1() {
        // 테스트 메소드 1
    }
    
    @Test
    public void testMethod2() {
        // 테스트 메소드 2
    }
    
    @AfterMethod
    public void tearDown() {
        // 각 테스트 메소드 실행 후에 실행될 작업 수행
    }
}

위의 예제에서 tearDown 메소드는 각 테스트 메소드가 실행된 후에 호출됩니다.

이러한 어노테이션을 사용하면 테스트 전후에 필요한 작업을 쉽게 추가할 수 있으며, 테스트 코드를 보다 깔끔하게 유지할 수 있습니다.

참고 자료