Scala 将指定的演员注入到游戏中!试验

Scala 将指定的演员注入到游戏中!试验,scala,playframework,akka,Scala,Playframework,Akka,我有一个使用自定义Akka演员的web应用程序 我使用@Named注释注入参与者,如下所示: @Singleton class Thing @Inject()(@Named("scheduler-actor") schedulerActor: ActorRef) ... 我想将这个参与者注入到我的测试中,这样我就可以向它发送消息,但我不知道如何做到这一点 我正在使用injection特性,该特性允许我访问injection函数,但似乎没有任何替代的injection函数允许我传入名称 互联网上

我有一个使用自定义Akka演员的web应用程序

我使用@Named注释注入参与者,如下所示:

@Singleton
class Thing @Inject()(@Named("scheduler-actor") schedulerActor: ActorRef) ...
我想将这个参与者注入到我的测试中,这样我就可以向它发送消息,但我不知道如何做到这一点

我正在使用
injection
特性,该特性允许我访问
injection
函数,但似乎没有任何替代的
injection
函数允许我传入名称

互联网上有没有给一部戏注入演员的例子!测试


更新1

经过一点研究,我想出了这个解决方案,但感觉有点粗糙

首先,我安装了Akka测试套件

libraryDependencies += "com.typesafe.akka" %% "akka-testkit" % "2.5.22" % Test
然后我使用了
TestActorRef
如下:

import actors.SchedulerActor.RefreshDevicesFromCCU
import akka.actor.{ActorRef, ActorSystem}
import akka.testkit.TestActorRef
import org.scalatest.BeforeAndAfterAll
import org.scalatestplus.play.PlaySpec
import utils.DatabaseSetupTearDown

class SchedulerActorSpec 
  extends PlaySpec
    with GuiceOneAppPerSuite
    with Injecting {

  implicit val system: ActorSystem = inject[ActorSystem]
  val schedulerActor: SchedulerActor = inject[SchedulerActor]
  val schedulerActorRef: ActorRef = TestActorRef(schedulerActor)

  ...
}