如何测试EJB @Schedule

时间:2012-11-17 17:03:33

标签: testing ejb schedule

我正在使用EJB计划来执行电子邮件守护程序任务:

@Schedule(hour="8, 10, 12, 14, 16, 18")
    public void sendExpirationReminders() {
}

如何在正在运行的服务器上测试这些方法?

我目前使用HtmlUnit进行大部分测试,因此我可以发出真正的浏览器请求。但我不知道如何测试这些守护进程方法的内部内容。

1 个答案:

答案 0 :(得分:3)

简短的回答是:你做不到。

有些人建议(我同意)是将执行调度的代码与实际执行操作的代码分开。如果你遵循这个,你将拥有一个具有@Schedule注释的类,其唯一的责任是调用执行该操作的类。

为什么你可以测试一下?这很简单,你不能在应用服务器中模拟日期(或时钟)。