系統通常會有一些後臺定時任務,假設咱們使用quartz實現定時任務,那麼有兩個測試功能點:java
定時任務邏輯測試xcode
若是定時任務在晚上11點執行,咱們不可能要求測試人員等到晚上11點時,再去檢查任務執行邏輯邏輯是否正確。咱們能夠提供一個定時器任務管理界面,讓測試人員可以手動觸發任務立刻執行一次。具體實現能夠參見:https://www.dexcoder.com/selfly/article/311測試
定時器cron表達式測試code
若是cron表達式比較複雜,或不太肯定表達式是否編寫正確,能夠打印cron表達式,後續幾回觸發任務執行的時間點,就能夠方便檢驗cron表達式編寫是否正確。orm
打印cron表達式,後續幾回觸發任務執行時間點,代碼示例:get
package org.quartz.demo; import org.quartz.impl.triggers.CronTriggerImpl; import java.text.SimpleDateFormat; import java.util.Date; public class CronTriggerImplDemo { public static void main(String[] args) throws Exception { CronTriggerImpl trigger = new CronTriggerImpl(); trigger.setCronExpression("0 */1 * * * ?"); trigger.triggered(null); Date fireTime = trigger.getNextFireTime(); for (int i = 0; i < 3; i++) { if (fireTime != null) { System.out.println("下次執行時間點=" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fireTime)); fireTime = trigger.getFireTimeAfter(fireTime); } else { break; } } } }
輸出示例:io
下次執行時間點=2017-04-23 15:52:00
下次執行時間點=2017-04-23 15:53:00
下次執行時間點=2017-04-23 15:54:00form