Scala 如何修复此Akka单元测试?

Scala 如何修复此Akka单元测试?,scala,akka,tdd,scalatest,Scala,Akka,Tdd,Scalatest,我将从Python开始学习Scala,并试图通过修改文档中的示例来理解它。我已将我的文件粘贴到文件夹中。参与者使用键入的消息。它接受MoveRequest并使用MoveAction进行回复。IntelliJ抱怨类型不匹配,并且probe.expectMessage(character.MoveAction(“北”))应该更改为MoveRequest,我不理解,因为这是应该探测的,而不是预期的。编译器抱怨类型不匹配。我做错了什么?有更好的测试方法吗?TestProbe需要输入您发送的消息类型 fi

我将从Python开始学习Scala,并试图通过修改文档中的示例来理解它。我已将我的文件粘贴到文件夹中。参与者使用键入的消息。它接受MoveRequest并使用MoveAction进行回复。IntelliJ抱怨类型不匹配,并且
probe.expectMessage(character.MoveAction(“北”))
应该更改为MoveRequest,我不理解,因为这是应该探测的,而不是预期的。编译器抱怨类型不匹配。我做错了什么?有更好的测试方法吗?

TestProbe需要输入您发送的消息类型

final case class MoveRequest(message: String,  response: ActorRef[MoveAction])
这里,响应参与者接收的消息类型是MoveAction,因此在您的测试示例中,您需要MoveAction类型的TestProbe来测试发送给它的消息

  val probe = testKit.createTestProbe[MoveAction]()

由于测试探针不是针对被测参与者的,因此它是针对MoveRequest消息中的参与者的。

谢谢。今天晚些时候我会尝试修复,如果有效,我会接受你的答案!非常感谢。我需要将行更改为:val probe=testKit.createTestProbe[character.MoveAction]()