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 中工作。我有一个看起来像这样的类 MyWebSocketActor(out:ActorRef,postActor:ActorRef,cache:CacheApi,postActorToUsernameMap:Map[ActorRef,String]) extends Actor
我想创建此类的 Actor 并调用其接收函数。我已按照此链接中的建议进行了尝试 Akka Java : create an actor with constructor taking parameters 也。但每次它都会给我错误:-
构造函数 MyWebSocketActor 的参数过多:()test.MyWebSocketActor
我在这里做错了什么?
最佳答案
你的 actor MyWebSocketActor
正在被你的测试服遮挡。将您的测试类更改为 MyWebSocketActor
以外的其他内容,例如 MyWebSocketActorTest
关于java - Play 2.5.x 和 Akka 2.4.7 中构造函数 MyWebSocketActor 的参数过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38028642/