Test Code 란 ?
의도된 대로 정확히 작동하는지 검증하는 절차
- 작성한 코드가 제대로된 기능을 수행하는지 검증
- 빠른 시간에 테스트 가능
성공하는 경우 Test
@Test
void helloApi(){
TestRestTemplate rest = new TestRestTemplate();
ResponseEntity<String> res =
rest.getForEntity("http://localhost:8080/hello?name={name}", String.class, "Spring");
assertThat(res.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(res.getHeaders().getFirst(HttpHeaders.CONTENT_TYPE)).startsWith(MediaType.TEXT_PLAIN_VALUE);
assertThat(res.getBody()).isEqualTo("*HelloSpring*");
}
TestRestTemplate rest = new TestRestTemplate();
- RestTemplate : 오류나면 예외를 던짐
- TestRestTemplate : 오류나도 해당 결과값을 보내줌
응답 검증 3가지
assertThat(res.getStatusCode()).isEqualTo(HttpStatus.OK);
1.statis code 200 ,enum값과 일치하는 지 학인 -> HttpStatus.OK
static + import 단축키 alt + Enter
assertThat(res.getHeaders().getFirst(HttpHeaders.CONTENT_TYPE)).startsWith(MediaType.TEXT_PLAIN_VALUE);
2. header(content-type) text/plain
assertThat(res.getBody()).isEqualTo("*HelloSpring*");
3. body Hello Spring
실패하는 경우
//실패하는 테스트
@Test
void failHelloApi(){
TestRestTemplate rest = new TestRestTemplate();
ResponseEntity<String> res =
rest.getForEntity("http://localhost:8080/hello?name=", String.class);
assertThat(res.getStatusCode()).isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR);
}
'SpringBoot > 프로젝트' 카테고리의 다른 글
자동 구성 정보 대체하기 (0) | 2023.11.30 |
---|---|
@Conditional 학습 테스트 (0) | 2023.11.30 |
[Spring Boot] jetty 서버 구성 추가하기 (0) | 2023.11.29 |
DI를 이용한 Decorator (2) | 2023.11.27 |
섹션2. 스프링 부트 시작하기 (0) | 2023.11.21 |