2

我正在从 Akka 配置创建路由器。

val router = context.actorOf(FromConfig.props(MyActor.props), "router")

我想对路由器所在的 Actor 进行单元测试,并且能够将路由器注入到 Actor 中会很有帮助。

是否可以使用 Scaldi 注入此路由器?我知道在 Scaldi 模块中我可以使用new.

binding toProvider new OrderProcessor

但我似乎找不到从配置创建绑定的方法。

4

1 回答 1

1

可以注入属性。在里面Module

binding identifiedBy "props-from-config" to FromConfig.props(MyActor.props)

并在 Actor 中注入道具并创建 Actor。

private val propsFromConfig = inject[Props]("props-from-config")
val router: ActorRef = context.actorOf(propsFromConfig, "router")

然后在单元测试中绑定任何道具。Actor 正在从 props 中创建一个 Actor,并且不知道 props 来自于 config。

于 2017-04-12T18:40:06.597 回答