Как стать автором
Обновить

Комментарии 4

Это все от лукавого. JavaEE контейнер изначально не был задуман ни как тестиуемый ни как удобоваримый для разработки. От цикла write-package-deploy-test спасет лишь JRebel, и то в редких случаях. Arquillian по сути автоматизирует этот цикл, но делает это также медленно: ресурсы запаковываются, а потом распаковываются на сервере. К тому же если Вы хотите добавить в деплоймент jar из maven dependency, включается резольвинг, который тормозит безбожно.

Что мы реально хотим:
— возможность пускать контейнер в embedded режиме (здравствуй, дебаг!)
— конфигурировать ресурсы контейнера (jndi, datasources, jms, etc...) программно прямо при старте, а не хранить черт знает где 10 различных конфигураций в xml и пускать свой сервер для каждого случая
— автоматический деплой приложения при запуске контейнера из текущего classpath без необходимости упаковки в jar
— конфигурировать программно classpath (для мокирования) и ресурсы приложения (дескрипторы xml)
— возможность тестирования и инъектирования теста в окружение контейнера

Все это умеет с некоторыми косяками Apache OpenEJB. Первый проект делал на JBoss + Arquillian, вторые два разрабатывал на OpenEJB (в продакшне все проекты деплоились на Weblogic) — производительность разработки возросла в несколько раз. Из недостатков: есть кое-какие баги, много приходится допиливать самому, версия 5.0 с JEE7 до сих пор еще в SNAPSHOT-ах.
Раз уж зашел разговор про Arquillian. Есть ли у кого-то опыт подключения этого чуда не через maven, а через gradle? Буду признателен примерам.
Я с Gradle-ом знаком крайне поверхностно, но так понимаю, что основная проблема заключается в том, чтобы импортировать Arquillian-овский BOM. Gradle, судя по всему, не умеет это делать из коробки, но можно попробовать подключить dependency management plugin, тогда импортировать BOM можно будет так:
dependencyManagement {
     imports {
          mavenBom 'org.jboss.arquillian:arquillian-bom:1.1.8.Final'
     }
}

В остальном, на первый взгляд, все должно быть аналогично тому, как сделано с использованием Maven.
спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории