Подтвердить что ты не робот

Как создать TestActorRef в Scala для актера с параметрами конструктора?

Акка Тестирование дают следующий способ создания TestActorRef:

import akka.testkit.TestActorRef

val actorRef = TestActorRef[MyActor]

Как это расширить для тестирования существующего актера, который принимает аргументы конструктора? Когда я пытаюсь запустить это как есть, заменив класс моего актера, я получаю следующую ошибку:

"при создании актера akka.actor.ActorInitializationException: Не удалось создать экземпляр Актера
Убедитесь, что Actor НЕ определен внутри класса/признака,
если это так выходит за пределы класса/признака, т.е. в сопутствующем объекте,
ИЛИ попробуйте изменить: "actorOf (Props [MyActor]" в "actorOf (реквизит (новый MyActor)".

Различные идеи, которые я мог придумать для добавления аргументов после имени класса внутри квадратных скобок, также разбились и сожжены.

4b9b3361

Ответ 1

Вы можете использовать Props следующим образом:

val actorRef = TestActorRef(Props(new MyActor(param1, param2)))

Или factory, например:

val actorRef = TestActorRef(new MyActor(param1, param2))

См. методы apply в объекте TestActorRef.