Error

테스트 환경에서 Cookie를 다루거나 검증해야할때

kkkkkdddddhhhhh 2023. 12. 8. 01:17

 

로그인시에 쿠키를 가져와 세션값을 검증해 사용자의 권한을 검증하는 테스트 케이스를 작성중 

쿠키가 Null로 응답되는 문제가 발생했다.

 

 

분명히 PostMan에서는 쿠키가 정상적으로 유저에게 응답값으로 넘겨가졌는데 테스트만 돌리며 쿠키가 null이라고 에러가 떴다...

디버깅을해봐도 Cookie가 null로 나오는상황 

 

andDo(print()); 를 이용해 로그인시에  request, response가 어떻게 내려오는지 확인해봤다.

 

 

응답값을 확인해보니 뭔가 다른점을 발견.

 

쿠키 객체의 이름이 그냥 Cookie가 아닌 MockCookie 임을 발견했다.

 

찾아보니 Junit 테스트 환경에서는 브라우저상에서 쿠키를 다루는것과 달라 따로 쿠키를 추출해 필요한 mockRequest에 심어줘야했다.

 

 

처음엔 andReturn()을 사용해 쿠키를 추출해봤지만 이 역시 쿠키가 넘어가지지 않았다.

 

 

위처럼 getResponse()로 MockHttpServletResponse 객체로 가져와 다시 쿠키를 심어줬더니 

정상적으로 테스트에 성공했다. 

 

테스트 환경에서 쿠키값을 다룰때에는 MockHttpServletResponse 객체를 사용하자...

 

뿌듯하다...

'Error' 카테고리의 다른 글

JWT Token AccessDenied 403 Error  (0) 2024.01.02
QueryDSL No Property Error  (0) 2023.12.12
스프링 이미지 출력 문제  (0) 2023.10.06
독립적인 테스트 환경 구성하기  (0) 2023.09.13
fetch API 사용 과 DTO의 기본생성자 Issue  (0) 2023.08.31