无法为 Spring @Scheduler 编写单元测试
Unable to write unit test for Spring @Scheduler
我在当前的 spring 项目中实现了一个带有 shedlock 的调度程序,如下所示:
@Scheduled(cron = "0 0/1 * * * *")
@SchedulerLock(name = "syncData",
lockAtMostFor = "${shedlock.myScheduler.lockAtMostFor}",
lockAtLeastFor = "${shedlock.myScheduler.lockAtLeastFor}")
public void syncSAData() {
//To assert that the lock is held
LockAssert.assertLocked();
...
}
现在我想为这个函数编写单元测试。我面临的问题是:我无法模拟第一条语句:LockAssert.assertLocked()
.
这应该可以解决问题 LockAssert.TestHelper.makeAllAssertsPass(true);
在测试方法的开头添加即可。
我在当前的 spring 项目中实现了一个带有 shedlock 的调度程序,如下所示:
@Scheduled(cron = "0 0/1 * * * *")
@SchedulerLock(name = "syncData",
lockAtMostFor = "${shedlock.myScheduler.lockAtMostFor}",
lockAtLeastFor = "${shedlock.myScheduler.lockAtLeastFor}")
public void syncSAData() {
//To assert that the lock is held
LockAssert.assertLocked();
...
}
现在我想为这个函数编写单元测试。我面临的问题是:我无法模拟第一条语句:LockAssert.assertLocked()
.
这应该可以解决问题 LockAssert.TestHelper.makeAllAssertsPass(true);
在测试方法的开头添加即可。