상세 컨텐츠

본문 제목

Spring-boot HTML Test

개인 공부/TDD

by 카페코더 2020. 6. 24. 18:04

본문

반응형
//Controller

@Controller
public class IndexController {

    @GetMapping("/")
    public String index() {
        return "index";
    }
}
//Test

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class IndexControllerTest {

    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    public void 메인페이지_로딩() {
        //when
        String body = this.restTemplate.getForObject("/", String.class);

        //then
        assertThat(body).contains("스프링 부트로 시작하는 웹 서비스");
    }
}

 위 테스트는 실제로 URL 호출 시 페이지의 내용이 제대로 호출되는가에 대한 테스트다.

Jojoldu: HTML도 결국은 규칙이 있는 문자열이다.

TestRestTemplate를 통해 "/"로 호출했을 때, index.mustache가 호출된다. 이 때, String 형태로 HTML의 모든 문자열을 가져온다.

모든 코드를 다 검증할 필요가 없으니, 특정 문자열을 포함했는지에 대해 검증을 진행한다. 여기서는 "스프링 부트로 시작하는 웹 서비스" 문자열의 포함 여부로 검증한다.

반응형

관련글 더보기

GitHub 댓글

댓글 영역