测试石英克朗触发器

假设我有一个类似的CronTriggerBean

<bean id="midMonthCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="reminderJobDetail" />
    <property name="cronExpression" value="0 0 6 15W * ?" />
</bean>

测试这种豆子在其指定日期实际触发的最佳方法是什么,在每个月15日上午6点最接近的工作日?


更新:这应该是一个单元测试,所以我不会启动VM或更改系统时间。


答案 1

首先,测试本身是没有意义的。它是弹簧框架的一部分,已经过测试。CronTriggerBean

更好的测试可能是测试您的cron表达式是否符合您的期望。这里的一种选择是使用Quartz的类。给定一个对象,您可以调用 ,该调用 在给定 Date 之后的下一次表达式将触发时返回。CronExpressionCronExpressiongetNextValidTimeAfter(Date)


答案 2

我使用CronMaker只是为了确定我的cron表达式是否格式正确,请查看:http://www.cronmaker.com/


推荐