반응형
- JWT Spring-Security-Test로 테스트시 인증정보 주입2021-07-22 23:16:53스프링 시큐리티를 적용한 토이 프로젝트에서 JWT로 인증,인가 기능을 부여한 컨트롤러를 테스트하는 과정에서 간단하게 Spring-Security-Test에 @WithMockUser를 사용하면 테스트에 필요한 인증된 인증 정보를 제공받을 수 있어서 기본 설정으로 테스트를 진행할 수 있는데 Spring Security는 기본적으로 세션-쿠키 방식이고 내가 진행한 방식은 JWT 방식의 요청을 처리하는 컨트롤러를 테스트해야 해서 DB의 접근이 필요했다. @WithMockUser는 일반적인 상황의 기본 Principal을 제공하여 Authentication객체가 Security Context에 등록이 되는데 보통 OAuth2처럼 Provider들에 따라 Principal의 구현이 달라지는 상황에서는 개발자가 Us..
- private method test 기능을 테스트할까? 구현을 테스트할까?2021-07-12 21:56:29서비스 레이어에서 테스트를 작성하다 private 메서드 테스트의 범위는 어디까지가 적당할까 라는 생각이 들었다. OKKYCon TDD 레퍼런스에서 구현을 테스트하지말고 기능을 테스트 해야한다는 발표를 봤던 것이 생각나서 의문이 들었다. Junit에서 private 메서드를 테스트 할 때 Reflection으로 해당 메서드를 받아와서 실행시킨 결과를 테스트하는 코드를 작성하는데 문제는 이 멤버 메서드를 가진 Service클래스 구현체가 다른 것으로 바뀐다면 바뀐 구현체의 public 메서드에서 별도로 추출한 private 메서드가 생길 것이고 기존의 사용하던 구현체의 private 메서드와 이름과 파라미터가 같지 않으면 테스트가 깨질 것이다. 코드를 통해 예시를 보자면 TestService라는 인터페이스..
반응형