如何使用虚拟时间测试Akka演员?

如何使用虚拟时间测试Akka演员?,akka,akka-typed,Akka,Akka Typed,我有一小部分参与者(用Java编写,使用Akka类型的API),他们利用TimerScheduler将消息调度给自己。我想写一些测试来检查它们的交互 当使用ActorTestKit时,它可以使用正常的计时器执行它们,这意味着当参与者在10秒内为自己安排消息时,测试必须持续10秒 为了加快测试速度,我想使用虚拟时间进行测试,测试中的调度程序实际上并不等待,而是提前一个虚拟时钟。不幸的是,ActorTestKit似乎不支持这个概念 是否有运行此类测试的既定模式?ActorTestKit包括Manua

我有一小部分参与者(用Java编写,使用Akka类型的API),他们利用
TimerScheduler
将消息调度给自己。我想写一些测试来检查它们的交互

当使用
ActorTestKit
时,它可以使用正常的计时器执行它们,这意味着当参与者在10秒内为自己安排消息时,测试必须持续10秒

为了加快测试速度,我想使用虚拟时间进行测试,测试中的调度程序实际上并不等待,而是提前一个虚拟时钟。不幸的是,
ActorTestKit
似乎不支持这个概念


是否有运行此类测试的既定模式?

ActorTestKit包括
ManualTime
(在Java API中:
akka.actor.testkit.typed.javadsl.ManualTime
),它允许您按持续时间提前计时器(例如,在断言之间)。看