Единственное, что я видел до сих пор, - это публикация примера тестирования TypedActor. Я так понимаю, нет никакого способа проверить UntypedActor, скажем, Junit? Акка-документы улучшаются с каждым днем, но я не вижу тестирования. Это действительно очевидно, и я просто что-то упустил?Как мы тестируем актеров в Java?
ответ
Для тестирования с помощью JUnit вы должны использовать возможности, предоставляемые JUnit, документацию на тестирование Actor (Java эквив является UntypedActor) здесь: http://akka.io/docs/akka/snapshot/scala/testing.html
Работает ли он с Java? Я пробовал, но я не могу понять, как использовать с Java. – chaostheory
Нет, он не работает с Java. Если вам нужно использовать JUnit, вам нужно будет использовать JUnit API. –
Это возможно, по крайней мере, с версией 1.3 и 2.0 и библиотека akka-testkit.
Вы делаете что-то вроде этого, чтобы настроить ваш актер:
@Before
public void initActor() {
actorSystem = ActorSystem.apply();
actorRef = TestActorRef.apply(new AbstractFunction0() {
@Override
public Pi.Worker apply() {
return new Pi.Worker();
}
}, actorSystem);
}
Вы можете использовать класс TestProbe, чтобы протестировать актера (для версии 1.3 она немного отличается):
@Test
public void calculatePiFor0() {
TestProbe testProbe = TestProbe.apply(actorSystem);
Pi.Work work = new Pi.Work(0, 0);
actorRef.tell(work, testProbe.ref());
testProbe.expectMsgClass(Pi.Result.class);
TestActor.Message message = testProbe.lastMessage();
Pi.Result resultMsg = (Pi.Result) message.msg();
assertEquals(0.0, resultMsg.getValue(), 0.0000000001);
}
Там более доступен в блоге, который я написал по некоторым из моих опытов: http://fhopf.blogspot.com/2012/03/testing-akka-actors-from-java.html
Возможно, вас заинтересует запись в блоге, которую я написал: Testing AKKA actors with Mockito and FEST-Reflect Пример, который я использую, основан на JUnit, Mockito и FEST-Reflect. Дайте мне знать, если это вам полезно.
- 1. Как мы тестируем ниль в Swift?
- 2. Как мы тестируем, если JFormattedTextField пуст?
- 3. Как мы тестируем динамический тип (размер текста) в iOS Simulator?
- 4. Как мы тестируем элементы, используя || Оператор селеном WebDriver
- 5. Как мы тестируем модель Mixin с ember-cli
- 6. KNN - как мы тестируем изображение после классификации KNN?
- 7. Как мы тестируем API карт Google v2 на эмуляторе
- 8. Akka набирал актеров в Java
- 9. Почему мы тестируем веб-службы на разных конечных точках?
- 10. Что произойдет, если мы не тестируем программное обеспечение
- 11. Как сделать актеров (erlang) в java?
- 12. akka-spring: Как подключить актеров
- 13. Как обменивать актеров в libgdx
- 14. Как отличить актеров в прецеденте?
- 15. Для приложения Testflight требуется iOS8. Как мы тестируем бета-версию iOS7?
- 16. Лучшие практики для актеров поиск от актеров
- 17. Как протестировать актеров?
- 18. Как делать запросы в коллекции актеров
- 19. От Java многопоточность до актеров Scala Akka
- 20. Java-Akka: собрать сообщение от нескольких актеров
- 21. Объединение актеров в libgdx
- 22. Отключить актеров в libgdx
- 23. Как запустить Акку актеров в IntelliJ IDEA
- 24. Использование актеров в пьесе
- 25. Моделирование наследования актеров в Elixir
- 26. Play - Akka: Испытания актеров
- 27. Слишком много актеров в LibGDX?
- 28. Есть некоторые проблемы, когда мы тестируем hawq на нашем кластере слияния
- 29. Акка Система актеров ResolveOne() работает?
- 30. Как я могу распараллелить актеров?
Исправьте меня, если я ошибаюсь, но вам не нужно будет тестировать актера напрямую, если все, что он делает, вызывает метод в другом классе, который реализует логику: MyActor extends UntypedACtor {onCall (Object o) {new MyBusinessRule().делать(); }} Итак, тестируя Актера, вы будете тестировать AKKA, а не свою логику. – Eldelshell