[스프링] 스프링 부트 테스트에서의 REST API 테스트
이 포스트에서는 스프링 부트 애플리케이션에서 REST API를 테스트하는 방법에 대해 알아보겠습니다.
목차
의존성 추가
먼저, 테스트를 위해 spring-boot-starter-test
의존성을 pom.xml 파일에 추가합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
테스트 코드 작성
다음으로, REST API를 테스트할 코드를 작성합니다. 예를 들어, GET 요청을 테스트하는 코드는 다음과 같이 작성할 수 있습니다.
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.boot.web.server.LocalServerPort;
import static org.junit.jupiter.api.Assertions.assertEquals;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MyRestControllerTest {
@LocalServerPort
private int port;
@Autowired
private TestRestTemplate restTemplate;
@Test
public void testGetRequest() {
String url = "http://localhost:" + port + "/api/resource";
String response = this.restTemplate.getForObject(url, String.class);
assertEquals("ExpectedResponse", response);
}
}
테스트 실행
테스트를 실행하려면 MyRestControllerTest
클래스에서 JUnit 테스트를 실행하면 됩니다.
이렇게 함으로써, 스프링 부트 애플리케이션에서 REST API를 테스트할 수 있습니다.