TestNG는 자바 기반의 테스팅 프레임워크로, 다양한 기능을 제공하여 손쉽게 테스트 코드를 작성하고 실행할 수 있습니다. 이번 블로그에서는 TestNG를 활용하여 API 테스트를 진행하는 방법을 알아보겠습니다.
1. TestNG 설치 및 설정
먼저, TestNG를 설치하고 프로젝트에 설정해야 합니다. 다음과 같은 방법으로 설치할 수 있습니다.
- Maven을 사용하는 경우,
pom.xml
파일에 다음 의존성을 추가합니다.
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.3.0</version>
<scope>test</scope>
</dependency>
- Gradle을 사용하는 경우,
build.gradle
파일에 다음 의존성을 추가합니다.
testImplementation 'org.testng:testng:7.3.0'
2. API 테스트 작성
TestNG를 사용하여 API 테스트를 작성하기 위해서는 다음 단계를 따라야 합니다.
2.1. 테스트 클래스 생성
먼저, 테스트할 API에 대한 테스트 클래스를 생성합니다. 이 클래스는 @Test
어노테이션으로 테스트 메소드를 표시해야 합니다. 예를 들어, 다음과 같은 구조로 테스트 클래스를 작성할 수 있습니다.
import org.testng.annotations.Test;
public class APITest {
@Test
public void testAPI() {
// 테스트 코드 작성
}
}
2.2. 테스트 코드 작성
@Test
어노테이션이 적용된 메소드에서는 실제 API 호출 및 검증을 수행합니다. 예를 들어, 다음과 같은 구조로 테스트 코드를 작성할 수 있습니다.
@Test
public void testAPI() {
// API 호출
// 응답 검증
// 어설션문(assertion) 사용하여 결과 확인
}
API 호출은 HTTP 요청을 보내는데 사용하는 라이브러리(ex. Apache HttpClient, OkHttp) 등을 활용할 수 있습니다. 응답 검증을 위해 JSON 형식의 응답을 처리하는 라이브러리(ex. JSONAssert)를 사용할 수도 있습니다.
2.3 다양한 TestNG 어노테이션 활용
TestNG는 다양한 어노테이션을 제공하여 테스트 환경을 구성할 수 있습니다. 몇 가지 일반적으로 사용되는 어노테이션에 대해 알아보겠습니다.
@BeforeTest
: 테스트 메소드 실행 전에 한 번 실행되는 메소드에 적용됩니다.@AfterTest
: 테스트 메소드 실행 후에 한 번 실행되는 메소드에 적용됩니다.@DataProvider
: 테스트 데이터를 제공하는 메소드에 적용됩니다.@Parameters
: 테스트 메소드에 전달할 매개변수를 지정합니다.
이외에도 @BeforeMethod
, @AfterMethod
, @BeforeClass
, @AfterClass
등 다양한 어노테이션을 활용하여 테스트 환경을 설정할 수 있습니다.
마무리
TestNG는 강력하고 다양한 기능을 제공하는 자바 테스트 프레임워크입니다. API 테스트에 사용할 수 있는 다양한 어노테이션과 기능을 활용하여 테스트를 작성하고 실행할 수 있습니다.
이번 블로그에서는 TestNG를 활용한 API 테스트에 대해 간단히 알아보았습니다. API 테스트를 보다 쉽고 효율적으로 진행하기 위해 TestNG를 활용해보시기 바랍니다.
참고: TestNG 공식 웹사이트