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에 지정하는 방식입니다. 

+ Recent posts