반응형
문제상황
Github Action을 활용해서 CI / CD를 구축하던 중
CI 과정에서 테스트 코드 검사를 활성화 후 파이프라인을 진행시켰다. 그런데..
분명 로컬에서는 잘 작동하던 테스트가
위 이미지 처럼 다수가 실패해 CI 가 제대로 동작하지 않게 되었다..
원인파악 + 해결
1차로 확인한 원인
ConfigDataResourceNotFoundException이 발생하여 테스트가 실패하고 있었다.
ConfigDataResourceNotFoundException란 스프링이 로딩할 설정파일을 읽지 못해 발생하는 익셉션이다
테스트 패키지에 application-test.yml 파일을 추가하여 해당 익셉션을 해결하였다.
추가적으로 Test 클래스마다 @ActiveProfiles 어노테이션을 추가해 설정파일 옵션을 부여해주었다.
2차로 확인한 원인
application-test.yml 에서 Redis Repository를 비활성화 해놓았다.
위 설정으로 인해 redis 관련 테스트들이 실행이 불가능해 테스트가 실패하고 있었다.
@MockitoBean
private RefreshTokenRepository refreshTokenRepository;
를 추가해 redis repository를 mock처리하여 해당 에러를 해결하였다..
많은 시도 끝에 성공..
정진
일단 CI가 작동은 하지만
아직 SpringBoot Test의 작동 방식에 대한 이해가 상당히 부족하다는 걸 깨달았다..
테스트도 방식이 여러가지라니..
순수 단위 테스트, 순수하지 않은 단위테스트...
통합테스트 등등..
어렵다. TDD
반응형
'Spring' 카테고리의 다른 글
Audit Log 조회 API 성능 개선기 - 2 (8) | 2025.08.08 |
---|---|
Audit Log 조회 API 성능 개선기 - 1 (4) | 2025.07.19 |
테스트 코드는 왜 짜야할까.. (0) | 2025.07.17 |
DB에 인덱싱을 적용하면 왜 빨라질까? (0) | 2025.06.09 |
Grafana + k6 로 부하 테스트 드가자~ (0) | 2025.05.08 |