问题描述
我有一个用例,其中我将一个接收器传递给某个演员-因此我也可以传递一个TestSink
当那个演员收到消息时,我使用以下消息将消息传递给该接收器
case class SomeActor[T,U](sink: Sink[U,NotUsed] {
def behavior: Behavior[T] = Behavors.receive[T] { (ctx,msg) =>
msg match {
case MessageT =>
ref = sink.runWith(ActorSource.actorRef[U](PartialFunction.empty,PartialFunction.empty,OverflowStrategy.fail)
ref ! MessageU
Behaviors.same
}
}
}
如何测试接收器已收到MessageU
?
解决方法
尝试使用akka-stream-testkit(https://doc.akka.io/docs/akka/current/stream/stream-testkit.html)。您的示例的测试代码(省略类型以保持其简洁):
data.push(y);