Как проверить актера Акка, который отправляет сообщение другому актеру?

Я использую ScalaTest с Akka TestKit для написания модульных и интеграционных тестов для актера, которого я закодировал, чтобы просто отправить сообщение другому актору без изменения внутреннего состояния. Возьмите это к примеру:

class MyActor extends Actor {
  val anotherActor = context.actorOf(Props[AnotherActor])
  def receive: Receive = {
    case MyMessage => anotherActor ! AnotherMessage
  }
}

Я хочу написать тест, который подтверждает, чтоanotherActor обработанныйAnotherMessage как следствиеMyActor обработкаMyMessage, Классическим примером является использованиеTestActorRef чтобы добраться до нижележащего субъекта и проверить наличие внутреннего состояния, которое должно было повлиять на получение сообщения, вот так:

val testActorRef = TestActorRef(new MyActor)
"MyActor" should "change some internal state when it receives MyMessage" in {
  testActorRef ! MyMessage
  testActorRef.underlyingActor.someState shouldBe "altered"
}

Но в моем случае мне плевать на такое состояние. На самом деле, я хочу избежать любого такого состояния.TestProbe не совсем то, что я искал, так как вы все еще должны зарегистрироватьTestProbe.ref с тестируемым актером. По большей части я рассмотрел все примеры в документации Akka по тестированию (http://doc.akka.io/docs/akka/snapshot/scala/testing.html) но не нашел ничего подходящего.

Ответы на вопрос(1)

Ваш ответ на вопрос