문제 정의 (원인)
•
사실 수집
통합 테스트 환경 ActiveProfiles 셋팅을 해줬는데도, 환경 변수를 못 읽어서 실행이 안되는 오류 발생
환경 변수 설정은 잘 돼있다
java.lang.RuntimeException: Driver org.h2.Driver claims to not accept jdbcUrl, ${TEST_DB_URL}
at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:110) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:326) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:112) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:93) ~[HikariCP-5.0.1.jar:na]
Bash
복사
•
원인 추론
◦
테스트 환경에서 환경 변수 들어가는 타이밍이 다른 거라고 생각 된다.
▪
통합 환경 테스트가 아닌, 개발 환경(application run)에서는 잘 돌아가기 때문
◦
조치 방안 검토 (분석)
1.
@TestPropertySource 어노테이션 사용
a.
properties 파일을 못읽어 오는 거일 수도 있다고 한다.
2.
Configuration 훑어보기
조치 방안 구현 (해결 + 느낀점)
1.
@TestPropertySource classPath 붙여서 사용해봤지만 미해결
2.
Configuration 훑어보다가 Template 만들 수 있는 걸 발견
해결!