MockMvc
perform
요청을 전송하는 역할을 합니다. 결과로 ResultActions 를 반환합니다.
get, post, put, delete
perform() 안에 넣어서 요철할 http method를 정합니다.
ex)perform(get("/hello"))
params
Key value 파라미터를 전달할수 있습니다.
여러 개일 때는 params, 한개면 param을 사용합니다.
andExpect
응답을 검증합니다.
ex) andExpect(status().isBadRequest())
satatus() 상태를 검증합니다. isOk(200), isNotFound(404)
view() 응답으로 받은 뷰 이름을 검증합니다.
redirect() 응답으로 받은 redirect를 검증합니다.
content() 응답 body를 검증합니다.
andDo
일반적으로 해야할 일을 표현합니다.
andDO(print()) 하면 결과를 print합니다.
스프링 시큐리티의 테스트는 일반적인 컨트롤러 테스트와 약간 다릅니다.
그 이유는 유저가 로그인을 한 상태로 서비스를 이용했다는 가정하에
테스트를 진행할 수 있어야 하기 때문입니다.
시큐리티 테스트를 사용하면 테스트를 시행 전에 원하는 유저를 마치 로그인한 것 처럼 설정할 수 있습니다.
가짜 유저를 세팅하는 방법중 3가지 방법을 소개합니다.
@WithMockUser
특정 사용자가 존재하는 것처럼 테스트 진행할 수 있습니다.
@WithUserDetails
사용자 가짜 로그인 가능
~.with
직접 사용자를 mockMvc에 지정하는 방식입니다.
'Today I Learned' 카테고리의 다른 글
css 중앙 정렬 및 JPA를 사용한 페이징 (0) | 2022.03.01 |
---|---|
mustache로 권한 체크하기 (0) | 2022.02.20 |
orm, ibatis, Spring Data JPA (0) | 2022.01.31 |
gitignore 자동 생성 및 인텔리제이에서 gitignore 생성 (0) | 2021.12.24 |
중간 기능 정리(스프링 부트와 AWS로 혼자 구현하는 웹 서비스 실습) (0) | 2021.12.17 |