Я бы переместил код, выполняемый задачей, в отдельный метод и протестировал бы его индивидуально без планирования / ожидания.

g Boot позволяет создавать фоновые «cron-подобные» задачи, например:

@Component
public class MyTask {
    // Every hour on the hour
    @Scheduled(cron = "0 0 0/1 1/1 * ? *")
    public void doSomething() {
        // blah whatever
    }
}

Это делает автоматизированное тестирование интеграции немного сложным! Мне не нужно было проводить интеграционное тестирование, которое просто зависало в течение часа, ожидая, чтобы увидеть, что произойдет, когда моя задача будет выполняться в самый час. И при этом я не должен ждать, чтобы выполнить мой тест около часа, чтобы я мог подтвердить правильное поведение в самый час!

Есть ли способ сделать этоcron значения настраиваются? Таким образом, если я хочу запустить свое приложение в «тестовом режиме», я мог бы запланироватьMyTask#doSomething() метод запуска, скажем, каждые 30 секунд и т. д.