Die Akka Testing docs geben die folgende Art und Weise eine TestActorRef zu erstellen:Wie erstelle ich ein TestActorRef in Scala für einen Actor mit Konstruktorparametern?
import akka.testkit.TestActorRef val actorRef = TestActorRef[MyActor]
Wie erweitere ich das einen vorhandenen Akteur für die Prüfung, die Konstruktorargumente nimmt? Wenn ich das so ist zu versuchen, ausgeführt wird, in meine Schauspieler-Klasse ersetzt wird, erhalte ich folgende Fehlermeldung:
„Fehler beim Schauspieler akka.actor.ActorInitializationException zu schaffen: Es konnte kein Schauspieler
instanziiert Vergewissern Sie ist Schauspieler innen eine nicht definiert Klasse/Merkmal,
Wenn ja, setzen Sie es außerhalb der Klasse/Eigenschaft, zB in einem Begleitobjekt,
ODER versuchen Sie zu ändern: 'actorOf (Props [MyActor]' zu 'actorOf (Props (neue MyActor)'). "
Die verschiedenen Ideen, die ich mir vorstellen konnte, um die Argumente nach dem Klassennamen in die eckigen Klammern einzufügen, stürzten und brannten auch .
Danke, das macht den Trick. Ich fügte eine type Deklaration zum val hinzu: 'val actorRef: TestActorRef [MyActor] = TestActorRef (Props (neuer MyActor (param1, param2))) und ich bin jetzt in der Lage, sauber darauf zuzugreifen. – David
Dies scheint nicht mehr zu funktionieren. Oder zumindest funktioniert das nicht für einen Schauspieler, der in einer Testklasse deklariert wurde. – davidrpugh
@davidrpugh: es funktioniert gut für mich [siehe diese] (http://pastebin.com/zxFHKTj0) – senia