testing - 如何测试 EJB @Schedule

标签 testing ejb schedule

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

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

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

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

最佳答案

简短的回答是:你不能。

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

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

关于testing - 如何测试 EJB @Schedule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432707/

相关文章:

javascript - 在 mocha 测试中使用 done 和 setTimeout 的简单示例未按预期工作

python - 使用覆盖率运行 Django 测试 PyCharm

node.js - 不同的 Mocha 行为 - 异步/同步 promise

java - EJB 3.0 如何包装异常以便客户端可以处理它?

java - 在没有范围注释的情况下,由 @Produces 方法创建的 bean 的默认范围是什么?

css - 如何更改 p :schedule to text 的上一个/下一个按钮的图标

javascript - 在 `mocha --watch` 重新运行之前清除标准输出

java - CDI : @Inject not failing when using @PostConstruct

Java EJB @Schedule 注释方法被调用两次

node.js - NodeJS如何只在工作时间执行一个功能?