3

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

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

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

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

4

1 回答 1

4

简短的回答是:你不能。

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

为什么你可以测试这个?这很容易,您不能在应用程序服务器中模拟日期(或时钟)。

于 2012-11-17T17:09:39.850 回答