我想测试一些Akka特性,比如conflate。为此,我需要在一个简单的单元测试中构造一个不受背压影响的源。天真的尝试
Source.tick(1.milli, 1.milli, "tick").map(_ => Random.nextDouble())不要因为背压而工作。超过HTTP的OTOH可能是过度的。
如何为不受背压影响的单元测试创建简单 Source?
发布于 2017-05-03 19:28:29
您可以使用Source.actorRef,这是-通过设计-没有背压-启用。见下面的例子:
val actorRef: ActorRef = Source.actorRef(0, OverflowStrategy.dropNew)
.map(_ => Random.nextDouble())
.to(yourSink).run()
system.scheduler.schedule(1.milli, 1.milli, actorRef, "tick")(system.dispatcher)这里随机选择了bufferSize参数和溢出策略,您需要根据测试的需要调整它们。
关于Source.actorRef的更多信息可以在文档中找到。
https://stackoverflow.com/questions/43767664
复制相似问题