실은 초반부터 계속 오류가 발생했던 부분인데...
test 부분만 빼면 빌드도 잘되고 잘 돌아갔던터라..
외면했던 오류였다.
검색해도 잘 나오지 않았고(내가 검색을 잘못했을수도..)
결국 커뮤니티에도 물어보고
내가 들어가있는 spring 오픈카톡방에도
물어봤었다.
기본적으로 나는
application.properties 를 깃허브에 올리지 않고 따로 ec2서버에 올려놓고
배포스크립트에서 properties를 연결하고 사용했기때문에,
test를 build 할 때, properties파일을 인식하지 못해 일어나는 문제인 것 같다.
까지는 알았지만..
그래서 어떻게 해야하냐구!!
했었다.
우선
해당 오류는
QueryRepositoryTest > findByContent() FAILED
java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800
Caused by: org.springframework.beans.factory.BeanCreationException at ConstructorResolver.java:658
Caused by: org.springframework.beans.BeanInstantiationException at SimpleInstantiationStrategy.java:185
Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException at DataSourceProperties.java:253
와 같은 오류들이 모든 test코드에 다...
이런 식의 오류였다!
오픈 카톡방에서는
'테스트용으로 application-test.yml 파일을 새로 만들고 테스트 코드에 @ActiveProfiles(“test”) 어노테이션추가'
를 말씀하셔서 적용해봤지만 그대로였다.
그래서 여러 검색과 내 추론 끝에
ec2내
test/resources/application.properties
를 만들고 DB정보를 넣어주었다.
그랬더니 빌드가 성공했다.
이 밖에도
ec2내에 따로 properties 작성하고 배포스크립트에 작성하는 식으로 해보려고 했지만,
모두 실패했다..!
(검색해보니, 다른 분들은 이런식으로 많이 성공하셨던 것 같다)
이 방법이 맞는 방법인지는 모르겠지만,
우선 임시방편이라도 되었으면 하는 바람이다!
더 좋은 방법이 있다면 댓글 남겨 주시면 감사하겠습니다!:-)
'백엔드 > Programming' 카테고리의 다른 글
nginx.conf 에 location 블록이 없을 때 (0) | 2022.11.15 |
---|---|
[Travis CI] directory 설정 (0) | 2021.09.20 |
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL 오류- spring boot, mysql (0) | 2021.09.07 |
assertthat 오류 (0) | 2021.09.01 |
Mysql 8.0 utf8mb4 windows 설정 (0) | 2021.08.30 |