반응형
개발 완료 후 테스트 상황에서 MockMvc를 사용하기로 했다. 해당 부분은 추후 정리예정이다.
여하간 controller를 테스트 하기 위해서 사용했는데, 해당 controller에서는 사용자가 로그인을 했는지 안했는지 판단하기 위해 session을 확인하기 때문에 테스트 중 오류가 발생했다.
따라서 MockMvc에서 session을 사용하는 방법을 알아보았다.
사용법은 간단하다. MockHttpSession 클래스를 사용하면 끝!
MockHttpSession session = new MockHttpSession();
HttpServletRequest와 동일하게 getSession(0 / setSession() 사용이 가능하다.
따라서 session에 담긴 데이터를 사용하는 controller를 테스트 하는 경우에는 아래와 같이 session()을 사용하면 된다
MockHttpSession session = new MockHttpSession();
session.setAttribute("session_key", "session_value"); //or Object
mockMvc.perform(post("url")
.param("", "")
.session(session))
.andExpect(status().isOk())
.andDo(print())
* 메소드 참고
메소드 | 설명 |
perform | 접근 할 http 형식, url 지정 |
andExpect | 결과 기대값, isOk의 경우 status=200 |
andDo | 기대한 결과값이 나왔을 경우 동작 |
반응형
'WEB > Java' 카테고리의 다른 글
StringEscapeUtils (1) | 2023.02.23 |
---|---|
Scanner, BufferedReader (0) | 2017.01.31 |
Spring Framework : DI (0) | 2017.01.03 |
Spring Framework : 개념 (0) | 2017.01.03 |
String (0) | 2017.01.03 |