我正在使用Akka配置创建路由器。
val router = context.actorOf(FromConfig.props(MyActor.props), "router")
我想对路由器所在的Actor进行单元测试,并且能够将路由器注入到Actor中会有所帮助。
是否可以使用Scaldi注入此路由器?我知道在Scaldi模块中我可以使用new
进行绑定。
binding toProvider new OrderProcessor
但我似乎无法找到一种从config创建绑定的方法。
答案 0 :(得分:1)
可以注入属性。
在Module
binding identifiedBy "props-from-config" to FromConfig.props(MyActor.props)
在Actor中注入道具并创建演员。
private val propsFromConfig = inject[Props]("props-from-config")
val router: ActorRef = context.actorOf(propsFromConfig, "router")
然后在单元测试中绑定任何道具。 Actor正在使用props创建一个actor,并且不知道道具来自config。