Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 EJB 计划来执行电子邮件守护程序任务:
@Schedule(hour="8, 10, 12, 14, 16, 18") public void sendExpirationReminders() { }
如何在正在运行的服务器上测试这些方法?
我目前的大部分测试都使用 HtmlUnit,所以我可以发出真正的浏览器请求。但是我不知道如何测试这些守护程序方法的内部内容。
简短的回答是:你不能。
有些人建议(我同意)是将执行调度的代码与实际执行操作的代码分开。如果您遵循这一点,您将拥有一个具有@Schedule注释的类,其唯一职责是调用执行操作的类。
@Schedule
为什么你可以测试这个?这很容易,您不能在应用程序服务器中模拟日期(或时钟)。