我正在为春季启动批量编写Junit测试。 在我的JUnit中,我想用这个启动一个步骤:
JobExecution jobExecution = jobLauncherTestUtils.launchStep("y");
我的JUnit课程用theese进行了分配:
@SpringApplicationConfiguration(classes = { MyBatchConfiguration.class })
@RunWith(SpringJUnit4ClassRunner.class)
我的问题是测试即使测试方法内部没有任何内容,也会以正常方式启动我的所有批处理作业。 以下是我的BatchConfFile
上的注释@Configuration
@EnableBatchProcessing
@EnableAutoConfiguration
@ConditionalOnClass({ JobLauncher.class })
@ComponentScan({ "toto" })
并且我的测试自动启动了Job:(
@Bean
public Job MyJob(@Qualifier("x") Step x,
@Qualifier("y") Step y) {
return jobs.get("j").incrementer(new DateJobIncrementer()).start(x).next(y).build();
}
答案 0 :(得分:4)
只需使用以下内容创建src/test/resources/application.properties
文件:
spring.batch.job.enabled=false # Do not execute all Spring Batch jobs in the context on startup.