Spring Batch @SpringBatchTest 注解

Spring Batch 提供了一些非常有用的工具类(例如JobLauncherTestUtils和JobRepositoryTestUtils)和测试执行监听器(StepScopeTestExecutionListener和JobScopeTestExecutionListener)来测试批量组件。然而, 为了能够使用这些工具类,你必须明确的对它们进行配置。这个发布介绍了一个新的注解,这个注解被命名为@SpringBatchTest能够自动的添加工具 bean(utility beans)和监听器(listeners)来测试上下文并且为自动写入来标记为可用,下面是一个示例代码:

@RunWith(SpringRunner.class)

@SpringBatchTest

@ContextConfiguration(classes = {JobConfiguration.class})

publicclassJobTest {


   @Autowired

   privateJobLauncherTestUtils jobLauncherTestUtils;


   @Autowired

   privateJobRepositoryTestUtils jobRepositoryTestUtils;



   @Before

   publicvoidclearMetadata() {

      jobRepositoryTestUtils.removeJobExecutions();

   }


   @Test

   publicvoidtestJob() throwsException {

      // given

      JobParameters jobParameters =

            jobLauncherTestUtils.getUniqueJobParameters();


      // when

      JobExecution jobExecution =

            jobLauncherTestUtils.launchJob(jobParameters);


      // then

      Assert.assertEquals(ExitStatus.COMPLETED,

                          jobExecution.getExitStatus());

   }


}

有关这个新注解的更多细节,请参考Unit Testing章节中的内容。


https://www.cwiki.us/display/SpringBatchZH/@SpringBatchTest+Annotation

你可能感兴趣的:(Spring Batch @SpringBatchTest 注解)