现在,我通过在单元测试期间使用的应用程序配置中为每个具有值initialDelay
的周期性任务设置10h
来禁用周期性任务。
然后任务方法的注释如下:
@Scheduled(fixedDelay = '10s', initialDelay = '${some-domain.periodic-task.initial-delay}')
void periodicTask() {
// periodic task implementation
}
在单元测试中使用的 application.yaml 配置中:
someDomain:
periodicTask:
initialDelay: 10h
问题是:是否有更好的方法在单元测试期间如何禁用Micronaut中的定期任务执行?
因为我觉得我的解决方案不好-它是解决方法。但是我没有为此找到任何全局设置,也没有找到可以在单元测试中使用的特定注释。
谢谢
答案 0 :(得分:1)
有没有更好的方法来禁用定期任务执行 单元测试中有Micronaut吗?
这实际上取决于细节,但是一个选择是用@Requires(notEnv="test")
标记包含定期任务的bean。