티스토리 뷰

> contextLoads() FAILED    java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98        Caused by: org.springframework.beans.factory.BeanDefinitionStoreException at ConfigurationClassParser.java:188            Caused by: java.io.FileNotFoundException at ClassPathResource.java:199

 

오류상황

개인 프로젝트 CI/CD 파이프라인을 구축하기 위해 깃허브 액션 스크립트를 작성한 후 깃에 코드를 push를 한 후 빌드 과정을 살펴보고 있었다. 그런데 빌드 오류가 난 것이다. 위의 로그를 살펴봤을 때 몇 개의 테스트코드가 Fail되면서 빌드가 되지 않은 것이다. 분명 로컬환경에서는 모든 테스트 코드가 통과되어서 Push를 했는데 깃허브 액션의 환경에서는 통과되지 않아 당황하였다.

오류해결

실패한 테스트들을 보면 모두 @SpringBootTest 어노테이션이 붙어있는 테스크 클래스였다. 즉, 본래의 코드를 실행했을 때의 환경을 모두 갖추고 테스트하는 것이다. 이 때 오류가 발생한 것이다. 그래서 고민을 해봤다.

 

1번 고민 :  GitHub Actions 동작환경에 H2 데이터베이스가 설치되어있지 않아서 그런가?

아니였다. 이전에 CI/CD 파이프라인을 구축할 때는 별도의 설치없이 잘 빌드 되어서 이 원인은 아니였다.

 

2번 고민 : gitignore에 설정된 파일 때문인가?

맞다. 해당 문제 때문에 발생한 오류였다. 나는 gitignore에 jwt, oauth 관련 yml 파일을 설정했다. 이 설정 파일들은 GitHub 레포에 올라가지 않는다. 하지만 테스트 코드에서는 jwt 설정파일이 사용된다.(TokenProvider 클래스) 그래서 gitignore에서 해제를 해주고 깃허브에 push를 했더니 빌드가 성공했다. 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함