Spring Boot 每月测试@Scheduled

Posted

技术标签:

【中文标题】Spring Boot 每月测试@Scheduled【英文标题】:Spring Boot Test Monthly @Scheduled 【发布时间】:2021-04-30 04:21:49 【问题描述】:

我在每个月底运行@Scheduled 方法。 我将如何进行测试?我听说过 awaitility 用于简单的异步回调,但这将是一个相当长的等待时间。

我听说过businessTime,您可以在其中简单地将时间设置为@Scheduled 时间之前的一秒,但不知道如何设置。 除此之外,我有点困惑。

这是我的注释。你能用@Profile 解决这个问题吗?

@Scheduled(cron = "0 0 0 30 * ?")

【问题讨论】:

如果你想确保它每个月都执行,那么你是在测试 Spring,而不是你的代码。如果你需要测试你的cron,有一个类似的问题:***.com/a/52167381/9922752 您是否必须测试 Spring Boot 功能是否有效? @wjans 是的,这将是最终目标,刚刚意识到我的想法中的缺陷,能够简单地运行代码而无需等待 cron 作业启动...谢谢! 【参考方案1】:

因为我只是想用 @sheduled 注释测试方法的内容,所以我可以像任何其他测试一样进行。

如果您想测试实际的 cron 作业,请务必按照@DelfikPro 的建议在https://***.com/a/52167381/9922752 处查看答案。

【讨论】:

以上是关于Spring Boot 每月测试@Scheduled的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot系列:Spring Boot定时任务Spring Schedule

spring boot项目中处理Schedule定时任务

java spring boot Schedule定时任务

Spring Boot 中的 @Schedule 不会在我们提供的日期运行

Spring Boot使用@Schedule启动、停止服务

5分钟搞懂如何在Spring Boot中Schedule Tasks