member의 service testcode를 작성하면서 나타난 에러 기록입니다.
@InjectMocks으로 jwtUtil을 주입하였습니다.

하지만 바로 다른 에러가 나타났습니다. 콘솔에 찍힌 에러는 this.JwtUtill is null로 끝났지만, 디버그로 확인한 결과 key값이 null인것을 확인하였습니다.
원인은 JwtUtil에서 key를 만들때 사용하는 @PostConstruct 때문이였습니다.
@PostConstruct는
의존성 주입이 완료된 후에 실행되어야 하는 method에 사용되며
해당 어노테이션은 다른 리소스에서 호출되지 않아도 수행됩니다.
생성자 보다 늦게 호출됩니다.
testcode에서는 의존성이 주입되지 않았기 때문에, @PostConstruct는 동작하지 않았습니다. 따라서 별도로 jwt seceret key값을 넣어주어야 합니다.

ReflectionTestUtils.setField(jwtUtil,"secretKey","7ZWt7ZW0OTntmZTsnbTtjIXtlZzqta3snYTrhIjrqLjshLjqs4TroZzrgpjslYTqsIDsnpDtm4zrpa3tlZzqsJzrsJzsnpDrpbzrp4zrk6TslrTqsIDsnpA=");
jwtUtil.init();
그러자 다른 에러가 나타났습니다.
구글링으로 찾아본 결과 대부분 어노테이션을 빼먹어 발생한 문제여서 저에게는 맞지 않는 해결책이였습니다.
결국 memberService에 직접 주입해 주었습니다.

delivery memberService는 로그인할때 SignInDto와 HttpSevletResponse를 매개변수로 받고있습니다.
HttpSevletResponse를 실제로 동작하듯이 사용자가 설정한 대로 동작하도록 하기 위해 @Spy를 붙여주었습니다.

모든 testcode가 제대로 작동하는지 확인한 결과 login test가 비밀번호 불일치 에러 메세지를 보내는 것을 확인하였습니다.
@Mock
private PasswordEncoder passwordEncoder;
으로 되어있는 부분을
@Spy
private PasswordEncoder passwordEncoder;
로 바꾸어 해결하였습니다.