Я не совсем уверен, что это решит вашу проблему, но это не поместится в комментарии.
Проблема здесь в том, что экземпляр процесса сохраняется и затем выполняется через следующий поток из пула потоков, поэтому ваш поток, выполняющий модульные тесты, заканчивается.
Необходимо проверить, завершено ли задание с помощью запроса к механизму процесса, и выполнить задание вручную.
Я использую этот метод утилиты:
public boolean waitUntilNoActiveJobs(ProcessEngine processEngine, long wait) {
long timeout = System.currentTimeMillis() + wait;
while (System.currentTimeMillis() < timeout) {
long jobCount = processEngine.getManagementService().createJobQuery().active().count();
if (jobCount == 0) {
return true;
}
final List<Job> jobs = processEngine.getManagementService().createJobQuery().list();
jobs.forEach(job -> processEngine.getManagementService().executeJob(job.getId()));
System.out.println("Waiting for " + jobs + " jobs");
}
return false;
}
Вы называете это в конце вашего теста, параметры кажутся очевидными.