TestNG는 Java 기반의 테스팅 프레임워크로, 다양한 유형의 테스트를 효과적으로 관리하고 실행할 수 있는 기능을 제공합니다. 이번 블로그 포스트에서는 TestNG를 활용하여 RESTful 서비스를 테스트하는 방법에 대해 알아보겠습니다.
1. 의존성 추가하기
우선, 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'
의존성을 추가하고 프로젝트를 업데이트 한 후, TestNG를 사용할 준비가 되었습니다.
2. RESTful 서비스 테스트 작성하기
이제 실제로 RESTful 서비스를 테스트하는 클래스를 작성해보겠습니다. 아래의 예시는 간단한 GET 요청을 보내고, 응답을 확인하는 테스트 코드입니다.
import static io.restassured.RestAssured.*;
import org.testng.Assert;
import org.testng.annotations.Test;
public class RestfulServiceTest {
@Test
public void testGetRequest() {
// GET 요청 보내기
int statusCode = given()
.when()
.get("https://api.example.com/users")
.getStatusCode();
// 응답 확인
Assert.assertEquals(statusCode, 200, "GET request failed");
}
}
위의 코드에서는 restassured
라이브러리를 활용하여 GET 요청을 보내고, 응답의 상태 코드를 확인하고 있습니다. 필요한 경우, given()
, when()
, then()
메서드 등을 활용하여 요청과 응답을 좀 더 세밀하게 다룰 수도 있습니다.
3. 테스트 실행하기
테스트를 실행하기 위해서는 TestNG의 실행 환경을 구성해야 합니다. 이를 위해 실행 가능한 클래스를 작성하고, 해당 클래스를 실행하면 됩니다.
import org.testng.TestNG;
public class TestRunner {
public static void main(String[] args) {
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { RestfulServiceTest.class });
testng.run();
}
}
위의 클래스를 실행하면 RestfulServiceTest
클래스 내에 작성한 테스트가 실행되고 결과를 확인할 수 있습니다.
결론
이렇게 TestNG를 활용하여 RESTful 서비스를 테스트하는 방법에 대해 알아보았습니다. TestNG는 다양한 테스트 관리 기능을 제공하여, 효과적으로 테스트 코드를 작성하고 실행할 수 있도록 도와줍니다. 자세한 내용은 TestNG 공식 문서를 참고하시기 바랍니다.