발생 원인
나는 application.yml 외에도 다른 yml 파일도 추가해서 사용하고 있었는데
그 yml 파일들의 값을 읽지 못해서 발생한 에러다.
해결 방법
첫 번째
@SpringBootTest 어노테이션에 properties 속성에 yml 경로를 추가하면 된다.
Test폴더의 Main클래스에 추가하면 된다.
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest(properties =
"spring.config.location = " +
"classpath:/application.yml," +
"classpath:/yml/coolsms.yml," +
"classpath:/yml/oauth2.yml"
)
class ExampleApplicationTests {
@Test
void contextLoads() {
}
}
그리고 테스트 코드를 작성하면 된다.
두 번째
변수 선언은 application.properties에서 하면 된다.
설정은 application.yml에서 그대로 하고
모든 변수 값들만 properties에 선언하면 된다.
(즉 프로젝트에서 @Value 어노테이션을 사용해서 받아오는 값들)
그러면 테스트가 정상적으로 실행된다.
(참고로 나는 두 번째 방법을 사용하고 있다.)
'에러 해결' 카테고리의 다른 글
리눅스 ruby ./ no such file or directory 에러 해결 (0) | 2021.12.17 |
---|---|
Field 'id' doesn't have a default value 에러 해결 (0) | 2021.12.14 |
@Valid org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument 에러 해결 (0) | 2021.12.08 |
intellij 디렉토리 옮긴 후 클래스 import 에러 (0) | 2021.11.21 |
Mysql 프로시저 만들때 to your MySQL server version for the right syntax to use near 에러 (0) | 2021.11.10 |