[IntelliJ, JUnit5] Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'ACCESS_SECRET' in value "${ACCESS_SECRET}"
by eelseungmin배경
오늘 급하게 JWT 방식을 사용하는 로그인 테스트 코드를 짜다가 테스트를 돌려보는 과정에서 다음과 같은 에러를 만났다.
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'ACCESS_SECRET' in value "${ACCESS_SECRET}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
요컨대 ACCESS_SECRET이라는 환경변수를 인식하지 못한다는 의미로 보인다.
다만 나는 Run - Edit Configuration 메뉴로 들어가 다음과 같이 환경변수를 잘 등록해준 상태였고, 오타도 없었다.
혹시 몰라 File - Invalidate Cache 메뉴를 통해 캐시를 초기화한 뒤 재시작도 해봤으나 증상은 여전했다.
해결한 방법
그러다가 위 스샷에서 Junit이라는 옵션이 활성화된 걸 보고 여기서도 환경변수 등록을 해줘야 하나 싶어서 등록하고 적용해 주었더니 테스트가 정상적으로 잘 동작되었다.
아마 Junit 테스트 환경과 로컬 환경의 환경변수가 각각 따로 적용되는 것이 원인으로 생각된다.
'Note > Error' 카테고리의 다른 글
[Swagger, springdoc] HTTPS 적용 후 Swagger에서 API가 HTTP로 요청되는 경우 (0) | 2024.02.18 |
---|
블로그의 정보
eel.log
eelseungmin