Я бы хотел сделать макрос (не микро!) Черным ящиком моей войны на встроенном экземпляре WildFly.Как настроить arquillian для тестирования проекта войны в Maven, развернув всю войну в WildFly?
Мой Maven проект выглядит следующим образом
<project>
...
<packaging>war</packaging>
<!-- Lots of classes in src/main/webapp and files in src/main/webapp -->
<dependencies>
<!-- Lots of compile/runtime dependencies that change very frequently -->
<!-- Lots of test dependencies that change very frequently -->
</dependencies>
</project>
Мои arquillian тесты должны отвечать следующим требованиям:
- Развертывание всю войну к серверу приложений в тестах. Сюда входят все производственные классы, все зависимости от выполнения и все файлы
src/main/webapp
. С точки зрения обслуживания невозможно выполнить микроразвертывания, потому что зависимости классов и jar-зависимостей изменяются очень часто. Поэтому мы не можем перечислять что-либо в развертывании ShrinkWrap. - Ничего в тесте не жёстко или arquillian.xml , который уже известен по мавена
pom.xml
. Это включает в себя строки версий, списки зависимостей, списки пакетов или классов, каталоги установки на сервере приложений и т. Д. - Не используйте более одного модуля maven. Мои тесты для проверки моей войны принадлежат к тестовой папке того же модуля maven, который производит войну.
- Пользователи, которые Checkout мой код должен быть в состоянии так просто запустить тесты:
- тесты необходимо запустить с IntelliJ после простого открытия
pom.xml
с IntelliJ. - Использовать встроенный контейнер WildFly, поэтому сначала не нужно устанавливать ни один процесс, и сначала необходимо выполнить процесс, и определенно no
JBOSS_HOME
переменная среды должна быть установлена .
- тесты необходимо запустить с IntelliJ после простого открытия
- Меня интересует только проверка черного ящика, поэтому все мои тесты могут работать как клиент.
В теории, все это возможно с Maven распознаватель Arquillian, вставленные контейнеры, @RunAsClient
, Maven плагин безотказное, некоторые arquillian.xml
магии и много Maven магии. Но на практике я не могу заставить этот материал работать вместе, и я не нахожу документацию, достойную прикрытия этого сценария, поэтому я надеюсь, что кто-то сможет ясно показать, как они могут работать вместе.
Если вы рассматриваете макро тестирование, вы можете взглянуть на [arquillian-suite-extension] (https://github.com/ingwarsw/arquillian-suite-extension) или вообще отказаться от Arquillian. Зачем? Потому что Аркиллиан относится к микроразвертыванию, и кажется, что это не так для вас. Кроме того, использование встроенных серверов приложений JEE аналогично [с просьбой о проблемах] (http://arquillian.org/blog/2012/04/13/the-danger-of-embedded-containers/) ... –
Ваниль Аркиллиан должен действительно поддерживать функции arquillian-suite-расширения из коробки! –