Вы должны использовать фреймворк arquillian от самого jboss http://www.mastertheboss.com/jboss-frameworks/arquillian/arquillian-tutorial.
Что такое эта структура, так это: в фоновом режиме создается экземпляр jboss. Все там развернуто, поэтому вы можете запускать свои ejb или сервлеты в этом «фоновом» контейнере.
Непросто его настроить, поэтому я бы посоветовал вам начать с Jboss Tools для eclipse. Код выглядит то вроде этого:
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap.create(WebArchive.class, "test-demo.war")
.addAsResource("META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
Я не жалуют этот подход, это действительно отдельное развертывание, вы должны полностью понять структуру WAR и EJB пакетов и все другие детали.
Это действительно лучше, что вы, ваши EJB, JPA и сервлеты, являются только легкими обертками вокруг обычных классов Java (POJO), где находится настоящая логика. Затем вы можете использовать простые модульные тесты для тестирования.
Вы ищете [Arquillian] (http://www.arquillian.org), платформу интеграции тестирования Wildfly? Или вы ищете то, что обсуждалось в вопросе Stackoverflow о [встраивании контейнера EJB в модульные тесты] (http://stackoverflow.com/questions/24310912/arquillian-vs-ejb-embeddable-container)? – fxnn
Привет @fxnn, это был бы второй вариант, я нашел много сообщений с одним и тем же кодом, но кажется, что он имеет другую настройку в зависимости от того, какой вы используете, в моем случае это Wildfly. – codenoob
Вы можете использовать [wildfly-maven-plugin] (https://docs.jboss.org/wildfly/plugins/maven/latest/), чтобы запустить сервер во время тестов и закрыть его после завершения тестов. –