@Test
void monthly_trigger_days() {
TriggerManagerVo vo = new TriggerManagerVo();
vo.setType("monthly");
vo.setValue("1");
vo.setHour("01");
vo.setMinute("1");
TriggerResult realTrigger = new TriggerResult(vo);
assertEquals(LocalDateTime.parse("2024-06-01T01:01:00"), realTrigger.getFirstFireTime());
assertEquals(LocalDateTime.parse("2024-07-01T01:01:00"), realTrigger.getSecondFireTime());
}
This test will fail next month because quartz will get different System Time next month.
I try to mock System Time but fail.
Now I dynamic change my assertion like
LocalDateTime firstDayOfMonth = todayStart.withDayOfMonth(1);
assertEquals(firstDayOfMonth.plusMonths(1), realTrigger.getFirstFireTime());
assertEquals(firstDayOfMonth.plusMonths(2), realTrigger.getSecondFireTime());
I still want to know how to control time on quartz test.
Thanks
New contributor
Ian Lin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.