728x90
에러발생
발생원인
분명 서버 실행하고 진행하면 잘 되는데 왜 이러한 에러가 발생할까?
Jwt SecretKey를 어떻게 받고있는지 한 번 살펴보겠습니다.
저같은 경우에는 환경변수를 이용해서 key값을 받고있습니다.
그래서 서버가 실행되면 key값이 들어가야 되는데
테스트 코드를 작성하는 곳에는 환경 변수를 세팅하거나
yml이 존재하지 않기 때문에 @Value에서 에러가 발생한 것이였습니다.
해결방법
해결할 수 있는 방법은 2가지가 존재합니다.
첫번째: 환경변수 설정
모든 테스트 환경에 환경변수를 적용하는 방법입니다.
이건 테스트 클래스가 많아질 수록 귀찮고 놓칠 수 있는 부분이기 때문에 비효율적이라고 판단했습니다.
두번째: 테스트 전용 yml 생성
테스트 전용 yml을 생성하는 방법입니다.
이렇게 설정해놓으면
실제 서버와 테스트 코드의 환경은 분리됩니다.
이러한 방법을 이용해서 OAuth2에 적용할 수 있고, jwt Secret 정보도 설정할 수 있습니다.
위에 방법과 다르게 한 번 만들어놓으면 계속 사용할 수 있기 때문에 이 방법이 더 편하다고 생각합니다.
저처럼 시간 날리지 마시고 바로 해결하셨으면 좋겠습니다.
728x90