Skip to content

Instantly share code, notes, and snippets.

@JonasGroeger
Last active July 3, 2024 01:21
Show Gist options
  • Save JonasGroeger/4c73439059fdc629977bf58ed0fd17a5 to your computer and use it in GitHub Desktop.
Save JonasGroeger/4c73439059fdc629977bf58ed0fd17a5 to your computer and use it in GitHub Desktop.
Spring Cron Expression Tester (Junit 5)
package de.jonasgroeger;
import org.junit.jupiter.api.Test;
import org.springframework.scheduling.support.CronExpression;
import java.time.LocalDateTime;
import java.time.ZoneId;
class SpringCronExpressionTester {
private final ZoneId timezone = ZoneId.of("Europe/Berlin");
@Test
void testCron() {
String cronExpression = "0 0 1 * * *";
int MAX_RUNS = 50;
CronExpression generator = CronExpression.parse(cronExpression);
LocalDateTime now = LocalDateTime.now(timezone);
for (int i = 0; i < MAX_RUNS; i++) {
LocalDateTime nextRun = generator.next(now);
System.out.println(nextRun);
now = nextRun;
}
}
}
@JonasGroeger
Copy link
Author

Updated for JUnit 5!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment