У меня есть запланированное задание в приложении весенней загрузки:
@Scheduled(fixedRateString = "${scheduled.task.rate}")
public void runScheduledTask() {
// ...
}
С соответствующим тестом:
@Test
public void test_scheduledTask_runs() {
await().atMost(Duration.ofMillis(scheduledTaskRate).multipliedBy(2)).untilAsserted(() -> {
Mockito.verify(scheduledTasks, Mockito.atLeastOnce()).runScheduledTask();
});
}
Теперь я хочу использовать крон вместо фиксированной скорости:
@Scheduled(cron = "${scheduled.task.cron}")
Теперь мне нужно адаптировать тест к этому. Как получить Duration
объект, соответствующий частоте выражения cron?