Class StepRunner

java.lang.Object
org.springframework.batch.test.StepRunner

public class StepRunner extends Object
Utility class for executing steps. This is useful in end to end testing in order to allow for the testing of a step individually without running every Step in a job.
  • launchStep(Step step): Launch the step with new parameters each time. (The current system time will be used)
  • launchStep(Step step, JobParameters jobParameters): Launch the specified step with the provided JobParameters. This may be useful if your step requires a certain parameter during runtime.
It should be noted that any checked exceptions encountered while running the Step will wrapped with RuntimeException. Any checked exception thrown will be due to a framework error, not the logic of the step, and thus requiring a throws declaration in clients of this class is unnecessary.
Since:
2.0
Author:
Dan Garrette, Lucas Ward, Mahmoud Ben Hassine
See Also:
  • Field Details

    • JOB_NAME

      public static final String JOB_NAME
      Name of the single-step job surrounding steps when tested individually
      See Also:
    • logger

      protected final org.apache.commons.logging.Log logger
      Logger
  • Constructor Details

  • Method Details

    • launchStep

      public JobExecution launchStep(Step step)
      Launch just the specified step in a surrounding single-step job of type SimpleJob named JOB_NAME. A unique set of JobParameters will automatically be generated. An IllegalStateException is thrown if there is no Step with the given name.
      Parameters:
      step - The step to launch
      Returns:
      JobExecution
    • launchStep

      public JobExecution launchStep(Step step, @Nullable ExecutionContext jobExecutionContext)
      Launch just the specified step in a surrounding single-step job of type SimpleJob named JOB_NAME. A unique set of JobParameters will automatically be generated. An IllegalStateException is thrown if there is no Step with the given name.
      Parameters:
      step - The step to launch
      jobExecutionContext - An ExecutionContext whose values will be loaded into the Job ExecutionContext prior to launching the step.
      Returns:
      JobExecution
    • launchStep

      public JobExecution launchStep(Step step, JobParameters jobParameters)
      Launch just the specified step in a surrounding single-step job of type SimpleJob named JOB_NAME. An IllegalStateException is thrown if there is no Step with the given name.
      Parameters:
      step - The step to launch
      jobParameters - The JobParameters to use during the launch
      Returns:
      JobExecution
    • launchStep

      public JobExecution launchStep(Step step, JobParameters jobParameters, @Nullable ExecutionContext jobExecutionContext)
      Launch just the specified step in a surrounding single-step job of type SimpleJob named JOB_NAME. An IllegalStateException is thrown if there is no Step with the given name.
      Parameters:
      step - The step to launch
      jobParameters - The JobParameters to use during the launch
      jobExecutionContext - An ExecutionContext whose values will be loaded into the Job ExecutionContext prior to launching the step.
      Returns:
      JobExecution