Как проверить, запускало ли задание другое задание, используя @SpringBootTest - PullRequest
0 голосов
/ 15 апреля 2020

Я запускаю пакетное задание в @SpringBootTest:

@Autowired
private JobRunner jobRunner;

jobRunner.runNowForTests("X_Job");

И у меня есть прослушиватель, который запускает Y_Job после завершения X_Job:

class JobFinishedEventListener  {

    @Autowired
    private JobRunner jobRunner;

    @Override
    public void afterJob(JobExecution jobExecution) {
        jobRunner.runNow("Y_Job");
    }

}

Моя @Test функция проверяет, что X_Job успешно завершено, как это:

assertJobStatus(X_Job_Execution, COMPLETED);

Однако я не знаю, как проверить, успешно ли Y_Job работал, так как у меня нет ссылки на его исполнение. Как я могу выполнить это? 1017 *?

1 Ответ

1 голос
/ 16 апреля 2020

Если я что-то упустил, я не понимаю, почему можно было бы запустить следующее задание, используя listener#afterJob текущего задания. Функционально это должно быть таким же, как показано ниже (с использованием синхронного исполнителя задач в панели запуска заданий):

JobExecution jobExecution1 = jobLauncher.run(job_x, params_x);
JobExecution jobExecution2 = jobLauncher.run(job_y, params_y);

Этот подход позволяет получить ссылку на оба выполнения задания и при необходимости добавить утверждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...