-
private MockMvc mvc
- 웹 API를 테스트할 때 사용합니다.
- 스프링 MVC 테스트의 시작점입니다.
- 이 클래스를 통해 HTTP
GET
, POST
등에 대한 API 테스트를 할 수 있습니다.
-
mvc.perform(get("/hello"))
- MockMvc를 통해
/hello
주소로 HTTP GET
요청을 합니다.
- 체이닝이 지원되어 여러 검증 기능을 이어서 선언할 수 있습니다.
-
.andExpect(status().isOk())
mvc.peform
의 결과를 검증합니다.
- HTTP Header의
Status
를 검증합니다.
- 우리가 흔히 알고 있는 200, 404, 500 등의 상태를 검증합니다.
isOk()
는 200인지 아닌지 검증합니다.
-
.andExpect(content().string(hello))
- mvc.perform의 결과를 검증합니다.
- 응답 본문의 내용을 검증합니다.
- 위에서는 Controller에서
"hello"
를 리턴하기 때문에 이 값이 맞는지 검증합니다.
-
asserThat
- assertj라는 테스트 검증 라이브러리의 검증 메소드입니다.
- 검증하고 싶은 대상을 메소드 인자로 받습니다.
- 메소드 체이닝이 지원되어
isEqualsTo
와 같이 메소드를 이어서 사용할 수 있습니다.
-
isEqualsTo
- assertj의 동등 비교 메소드입니다.
assertThat
에 있는 값과 isEqualsTo
의 값을 비교해서 같을 때만 성공입니다.
-
param
- API 테스트할 때 요청 파라미터를 설정합니다.
- 단, 값은
String
만 허용됩니다.
- 그래서 숫자/날짜 등의 데이터도 등록할 때는 문자열로 변경해야만 가능합니다.
-
jsonPath
- JSON 응답값을 필드별로 검증할 수 있는 메소드입니다.
$
를 기준으로 필드명을 명시합니다.
- 현재 프로젝트에서는
name
과 amount
를 검증하니 $.name
, $.amount
로 검증합니다.
-
postsRepository.save
- 테이블 posts에
insert
/update
쿼리를 실행합니다.
id
값이 있다면 update
가, 없다면 insert
쿼리가 실행됩니다.
-
postsRepository.findAll
- 테이블 posts에 있는 모든 데이터를 조회해오는 메소드입니다.