如何将JobParameters传递给Spring Batch Junit测试用例JobLauncherTestUtils?

2 java spring-batch spring-batch-admin

我是Spring Batch的新手,我有一个以下主程序,我想将它转换为测试用例jobLauncherTestUtils.我们怎么做到这一点?

我按照http://docs.spring.io/spring-batch/reference/html/testing.html,但我没有看到任何指针.请指导.

private void run() {
        String[] springConfig = { "spring/batch/jobs/job-extract-users.xml" };
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("testActualJob");

        try {
            JobParameters param = new JobParametersBuilder().addString("age", "20").toJobParameters();

            JobExecution execution = jobLauncher.run(job, param);
            System.out.println("----------------------------------------------");
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());
            System.out.println("-----------------------------------------------");
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done !!");
    } 
Run Code Online (Sandbox Code Playgroud)

Ami*_*ati 5

引用文件: -

startupJob()方法由JobLauncherTestUtils类提供.utils类还提供了launchJob(JobParameters),它允许测试给出特定的参数.

您的代码如下所示: -

JobParameters param = new JobParametersBuilder().addString("age", "20").toJobParameters();
 JobExecution jobExecution = jobLauncherTestUtils.launchJob(param).getStatus();
Run Code Online (Sandbox Code Playgroud)