Play framework - контроллеры модульного тестирования с зависимостями

Я пишу веб-приложение, использующее платформу Play (версия 2.1.1).

Я написал свой первый, очень простой контроллер и хотел протестировать его.

Дело в том, что все контроллеры Play статичны, и мне интересно, как правильно имитировать зависимости, например, возьмем несколько MyService:

private static MyService myService = new MyServiceImpl();

Я использую этот вид инициализации в своем приложении для доставки зависимостей контроллера.

Теперь, если я хочу имитировать свою зависимость, я мог бы создать статический метод, который устанавливает поле myService на имитацию реализации MyService.

Так ли это делается в приложении игрового фреймворка, написанном на Java? Или, может быть, есть более «идиоматический» способ сделать что-то подобное во фреймворке Play.


person Andna    schedule 20.04.2013    source источник


Ответы (1)


Как добиться этого, описано на http://www.playframework.com/documentation/2.1.1/JavaInjection.

На https://github.com/guillaumebort/play20-spring-demo есть демонстрация. проекта Play Spring.

С помощью play.Play.isTest() вы можете проверить, находитесь ли вы в тестовом режиме. Он задокументирован на http://www.playframework.com/documentation/api/2.1.1/java/play/Play.html.

person Schleichardt    schedule 21.04.2013