首页 > 解决方案 > 如何用虚拟时间测试 Akka 演员?

问题描述

我有少量的演员(用 Java 编写,使用 Akka 类型化的 API),它们用来TimerScheduler为自己安排消息。我想编写测试来检查它们的交互。

当使用ActorTestKit 文档中的推荐时,它可以使用普通的计时器来执行它们,这意味着当参与者在 10 秒内为自己安排一条消息时,测试必须持续 10 秒。

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

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

标签: akkaakka-typed

解决方案


ActorTestKit包含(在ManualTimeJava APIakka.actor.testkit.typed.javadsl.ManualTime中:)允许您按持续时间(例如在断言之间)提前计时器。请参阅文档中的控制调度程序ActorTestKit


推荐阅读