Play 2.5.x 和 Akka 2.4.7 中构造函数 MyWebSocketActor 的参数太多

too many arguments for constructor MyWebSocketActor in Play 2.5.x and Akka 2.4.7

class MyWebSocketActorTest extends Specification with Mockito {

  val system = ActorSystem("MockActorSystem")
  val mockMap : Map[ActorRef , String] = Map()
  val mockCache = mock[CacheApi]
  val actor1 = system.actorOf(Props[ChatActor],"actor1")
  val actor2 = system.actorOf(Props[ChatActor],"actor2")


  "MyWebSocketActor receive function" should {

    "have username key" in {

      val testActor = system.actorOf(Props(new MyWebSocketActor(actor1 , actor2, mockCache , mockMap)))

      val testMsg1 = Json.parse("""{"message":"Testing Message 2","conn_status":2,"pub_key":"empty","target":"all"}""")

      testActor ! testMsg1




    }


  }


}

我正在使用 Akka 2.4.7 在 Play 2.5.3 和 Scala 中工作。我有一个 class 看起来像这样 class MyWebSocketActor(out:ActorRef,postActor:ActorRef,cache:CacheApi,postActorToUsernameMap:Map[ActorRef,String]) extends Actor

我想为这个 class 创建一个 actor 并调用它的接收函数。我也按照 link 中的建议进行了尝试。但每次它都会给我错误:-

构造函数 MyWebSocketActor 的参数太多:()test.MyWebSocketActor

我做错了什么?

您的演员 MyWebSocketActor 正被您的测试服遮挡。将您的测试 class 更改为 MyWebSocketActor 以外的内容,例如 MyWebSocketActorTest