为预定作业编写测试用例

Writing test cases for scheduled jobs

@Singleton
public class ScheduledJob {

    @Schedule(minute="*",hour="*", persistent=false)
    public void doWork(){
        System.out.println("Running at: " +LocalDate.now());
    }
}

我很高兴知道我们是否可以为 class 编写 Junit 测试用例。

感谢您的帮助。

您的作业已安排的事实与您的功能测试无关。您不是在测试调度框架,而是在测试您自己的业务逻辑。

因此单元测试变得简单:

@Inject
private ScheduledJob job;

@Test
public void testLogic() {
    //Do whatever testing you need...
    job.doWork();
}

如果您的(经过良好测试的)服务方法在部署到您正在使用的任何容器中后被调用,您就会知道您是否正确配置了调度框架。