使用@SpringApplicationConfiguration进行JUnit测试会自动启动Job

时间:2016-02-05 13:14:35

标签: java testing junit spring-boot spring-batch

我正在为春季启动批量编写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();
    }

1 个答案:

答案 0 :(得分:4)

只需使用以下内容创建src/test/resources/application.properties文件:

spring.batch.job.enabled=false # Do not execute all Spring Batch jobs in the context on startup.