인지용

junit5 failed to load applicationcontext 에러 해결 본문

에러 해결

junit5 failed to load applicationcontext 에러 해결

인지용 2021. 12. 13. 20:09

발생 원인

나는 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 어노테이션을 사용해서 받아오는 값들)

 

그러면 테스트가 정상적으로 실행된다.

 

 

(참고로 나는 두 번째 방법을 사용하고 있다.)