Wie verspotte ich einen Akka-Schauspieler beim Unit-Test einer Klasse?
Ich habe eine Controller-Klasse, die die Anforderungen steuert, die an einen Akka-Akteur gesendet werden, der in den Controller eingespeist wird.
Controller-Code:
class Controller(actor: ActorRef) {
def control(msg: String): Future[String] = {
actor.ask(msg)(Timeout(2 seconds)).mapTo[String]
}
}
Und der Code meines Schauspielers lautet:
class ActorA extends Actor {
override def receive: Receive = {
case msg: String => sender ! msg
case msg: Int => sender ! msg.toString
case _ => "Invalid command!"
}
Jetzt muss ich das Verhalten von ActorA zum Unit-Test-Controller verspotten. Gibt es eine Möglichkeit, dies über Akka TestKit zu tun?