我正在使用EJB计划来执行电子邮件守护程序任务:
@Schedule(hour="8, 10, 12, 14, 16, 18")
public void sendExpirationReminders() {
}
如何在正在运行的服务器上测试这些方法?
我目前使用HtmlUnit进行大部分测试,因此我可以发出真正的浏览器请求。但我不知道如何测试这些守护进程方法的内部内容。
答案 0 :(得分:3)
简短的回答是:你做不到。
有些人建议(我同意)是将执行调度的代码与实际执行操作的代码分开。如果你遵循这个,你将拥有一个具有@Schedule
注释的类,其唯一的责任是调用执行该操作的类。
为什么你可以测试一下?这很简单,你不能在应用服务器中模拟日期(或时钟)。