[한 것]
- 객체지향의 사실과 오해 1장 읽고 정리하기
- 데브싱크 프로젝트 쪽지 전송 부분 TDD 작성하기
[배운 것]
webmvctest를 이용한 TDD 작성법
@RunWith(SpringRunner.class)
- 테스트를 진행할 때 Junit에 내장된 실행자 외에 다른 실행자를 실행시킵니다.
- 여기서는 SpringRunner라는 스프링 실행자를 사용합니다
- 즉, 스프링부트 테스트와 Junit 사이에 연결자 역할을 합니다.
@WebMvcTest
- 여러 스프링 어노테이션 중에서, Web(Srpign MVC)에 집중할 수 있는 어노테이션입니다.
- 선언할 경우 @Controller, @ControllerAdvice 등을 사용가능
- 여기서는 컨트롤러의 선언 때문에 사용합니다.
@Autowired
- 스프링이 관리하는 (Bean)을 주입받습니다
private MockMvc mvc
- 웹 API를 테스트할 떄 사용합니다.
- 스프링 MVC 테스트의 시작점입니다.
- 이 클래스를 통해 HTTP, GET, POST 등에 대한 API테스트를 할 수 있습니다.
mvc.perform(get("/hello"))
- MockMvc를 통해 /hello 주소로 HTTP GET 요청을 합니다
- 체이닝이 지원되어 아래와 같이 여러 검증기능을 이어서 선언할 수 있습니다.
.andExpect(status().isOk())
- mvc.perform의 결과를 검증합니다
- Http Header의 Status를 검증합니다
- 우리가 흔히 알고 있는 200, 404, 500 등의 상태를 검증합니다
- 여기선 OK 즉, 200인지 아닌지를 검증합니다.
.andExpect(content().string(hello))
- mvc.perform의 결과를 검증합니다.
- 응답 본문의 내용을 검증합니다
- Controller에서 "hello"를 리턴하기 떄문에 이 값이 맞는지 검증합니다.
[느낀점]
객체와 실생활 간의 연관성이 정말 많은듯 하다.
[할 것]
객체지향의 사실과 오해 2장 읽고 정리하기
토이 프로젝트 하기
알고리즘 문제 풀기
'etc > TIL' 카테고리의 다른 글
TIL / 2022-03-02 스프링 (0) | 2022.03.03 |
---|---|
TIL / 2022-02-25 스프링 (0) | 2022.02.26 |
[TIL] 2022-02-18 / JWT(Json Web Token) (0) | 2022.02.19 |
TIL 2022-02-15 / 스프링 (0) | 2022.02.16 |
TIL / 2022-02-11 (0) | 2022.02.12 |