Junit test 없이 개발하면 불안하시죠?
저는 아직은 그럴때도, 그러지 않을 때도 있는데요. 의지는 있는거니...
Test Case(TC)에 따라서 작성하다보면, 놓친 케이스도 보완할 로직도 발견하게 되서 좋습니다.
오늘은 Spring Batch Test 작성 중에 Properties 정보 로딩이 안되네요.
환경
Spring Boot 4.3.7
Spring Batch 1.4.1
현상
Datasource 속성 중 url 정보 등 properties, yaml 파일 내 정의 된 정보가 null로 바인딩 됩니다.
해결방법
ConfigFileApplicationContextInitializer
application.properties 로딩을 위한 트리거입니다.
@SpringBatchTest
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {YourTestJob.class},
initializers = {ConfigFileApplicationContextInitializer.class} )
public class YourTest {
...
}
보다가 알게 된 내용
@DirtiesContext : 애플리케이션 컨텍스트가 테스트 컨텍스트에 적용되지 않는다. 테스트 클래스에서 애플리케이션 컨텍스트를 변경해서 사용한다는 걸 의미한다.
@SpringApplicationConfiguration :
스프링 애플리케이션 컨텍스트 모두 로딩한다. (properties, logging 포함)
스프링부트 1.4 이상부터 Deprecated 되었다.
참고한 링크
Spring boot Docs : ConfigFileApplicationContextInitializer : 스프링 부트 2.4 부터 Deprecated
'개발 로그' 카테고리의 다른 글
메이븐 오류 해결 - Blocked mirror for repositories (0) | 2022.01.20 |
---|---|
개발노트 5 - IDEA 2020.1 org.springframework.beans.Factory does not exist 오류 해결 (0) | 2021.07.29 |
개발노트 4 - 스프링 부트의 의존성 라이브러리 버전 확인하기 (0) | 2021.07.28 |
개발노트 3 - 터미널 명령어, 디렉토리 정보를 <Tree> 구조로 보자 (0) | 2021.04.29 |
개발노트-1 스프링부트 의존성 버전 확인하기 (0) | 2021.02.23 |