Spring Batch Test
통합 테스트
pom.xml
gradle
스프링 부트 배치 테스트 사용시 의존성에 반드시 spring-boot-starter-test
가 포함되어 있어야한다.
@SpringBatchTest
: 자동으로 ApplicatonContext에 테스트에 필요한 여러 유틸 Bean을 등록해준다.Util설명테스트 단위JobLauncherTestUtils
스프링 배치 테스트에 필요한 전반적인 유틸 기능들 지원
통합 테스트
JobRepositoryTestUtils
DB에 생성된 JobExecution을 쉽게 생성/삭제 가능하도록 지원
통합 테스트
StepScopeTestExecutionListener
배치 단위 테스트시
@StepScope
컨텍스트를 생성 해당 컨텍스트를 통해 JobParameter등을 단위 테스트에서 DI 받을 수 있다.단위 테스트
JobScopeTestExecutionListener
배치 단위 테스트시
@JobScope
컨텍스트를 생성 해당 컨텍스트를 통해 JobParameter등을 단위 테스트에서 DI 받을 수 있다.단위 테스트
@SpringBootTest
: 통합 테스트 실행시 사용할 Java설정들을 선택BatchJpaTestConfiguration
은 테스트할 Batch JobTestBatchConfig
: 배치 테스트 환경
jobLauncherTestUtils.launchJob(jobParameters)
:JobParameters
와 함께 Job을 실행한다.해당 Job의 결과는
JobExecution
에 담겨 반환된다.jobExecution.getStatus()
로 성공적으로 수행되었는지 검증한다.
@EnableBatchProcessing
: 스프링부트 배치 스타터에 미리 정의된 설정들을 실행시키는 어노테이션으로 JobBuilder, StepBuilder 등 다양한 설정 주입
참고
Last updated