어떤 부분을 리팩터링하려 하나요?
리팩터링하려는 부분에 대해 간결하게 설명해주세요
토큰과 관련된 테스트를 작성할 때, 내부적으로 (거의 항상) TokenProvider 와 JwtUtils을 호출합니다.
이때 제대로된 jwt 형식이 아니면 "유효하지 않은 토큰입니다"라는 예외가 발생하는데,
이는 테스트 코드를 작성하려는 목적에서 벗어난 예외입니다.
따라서, JwtUtils 나 TokenProvider 를 스프링 빈으로 주입받도록 변경하고,
테스트에서 mock 을 사용하여 의존성을 끊을 필요가 있습니다.
AS-IS
- 토큰과 관련된 테스트를 작성할 때, "제대로 된 jwt형식의 토큰"을 given 절에서 준비해야합니다.
TO-BE
- JwtUtils 나 TokenProvider 를 스프링 빈으로 주입받습니다.
- mocking 하여, 구체적인 기술인 "jwt"에 대해 알지 못해도 되게 합니다.