spring boot 1.4 버전의 Web Integration Test

2016-08-31 16:37

spring boot가 1.4로 버전을 높이면서 테스트에 대한 고려를 많이 한 흔적이 엿보인다. spring boot 1.3 버전까지 WebIntegrationTest를 위해 필요한 설정 및 코드가 많았는데 spring boot 1.4에서는 다음과 같이 구현함으로써 API에 대한 테스트가 가능해졌다.

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
public class HomeControllerTest {
    private static final Logger logger = LoggerFactory.getLogger(HomeControllerTest.class);
    
    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    public void home() {
        ResponseEntity<String> result = this.restTemplate.getForEntity("/", String.class);
        logger.debug(result.getBody());
    }
}

앞으로 TestRestTemplate 활용해 웹 클라이언트 테스트 자동화에도 도전해 보자.

0개의 의견 from SLiPP

의견 추가하기