Spring Batch @SpringBatchTest 註解

Spring Batch 提供了一些很是有用的工具類(例如 JobLauncherTestUtils 和 JobRepositoryTestUtils)和測試執行監聽器(StepScopeTestExecutionListener 和 JobScopeTestExecutionListener)來測試批量組件。然而, 爲了可以使用這些工具類,你必須明確的對它們進行配置。這個發佈介紹了一個新的註解,這個註解被命名爲 @SpringBatchTest 可以自動的添加工具 bean(utility beans)和監聽器(listeners)來測試上下文而且爲自動寫入來標記爲可用,下面是一個示例代碼:工具

@RunWith(SpringRunner.class)測試

@SpringBatchTestspa

@ContextConfiguration(classes = {JobConfiguration.class})code

public class JobTest {ci

 

   @Autowiredrem

   private JobLauncherTestUtils jobLauncherTestUtils;get

 

   @Autowiredit

   private JobRepositoryTestUtils jobRepositoryTestUtils;io

 

 

   @Beforetable

   public void clearMetadata() {

      jobRepositoryTestUtils.removeJobExecutions();

   }

 

   @Test

   public void testJob() throws Exception {

      // 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

相關文章
相關標籤/搜索