Интеграционный тест локального EJB на Glassfish - PullRequest
0 голосов
/ 12 октября 2011

Я немного озадачен интеграционным тестированием простого EJB.Если я хочу проверить локальный интерфейс / отсутствие интерфейса EJB, мне нужно использовать Arquillian?Я наткнулся на Arquillian, но я никогда не использовал его.У меня есть структура каталогов Maven / Glassfish и Eclipse Indigo

Ответы [ 3 ]

2 голосов
/ 12 октября 2011

Если я хочу проверить локальный интерфейс / отсутствие интерфейса EJB, нужно ли мне использовать Arquillian?

Нет необходимости использовать Arquillian, но есть определенные вещи, которые стали прощекогда вы делаете это.

Обычно вы просто используете EJBContainer API, доступный в EJB 3.1, для тестирования EJB во встроенном контейнере (который работает в той же JVM, что и тесты).В случае встроенного Glassfish это обычно приводит к развертыванию EJB-компонентов, которые находятся в пути к классам приложения.

Arquillian позволяет вам делать гораздо больше, чем выполнять тесты в контейнере.Он управляет жизненным циклом контейнера, поэтому не требует написания кода, кроме установки свойств в файле arquillian.xml.Это позволяет вам гораздо проще управлять развертыванием в контейнере;используя ShrinkWrap API, можно программно выполнять различные контекстно-зависимые развертывания в контейнере.Кроме того, внедрение зависимостей (тестовое обогащение) также может быть выполнено при условии, что они поддерживаются Arquillian.

Достаточно знать, что поддержка встроенного контейнера Glassfish для Arquillian использует те же API, которыепредоставляется встроенным API Glassfish;обычно вы можете в конечном итоге дублировать работу Arquillian, за исключением некоторых уникальных сценариев.

Если вам интересно взглянуть на примеры с использованием Arquillian, этот проект GitHub поможет.

0 голосов
/ 18 января 2013

Если вы не любите издеваться (так же, как я), вы можете либо взглянуть на ejb3unit (http://ejb3unit.sourceforge.net/),), либо попробовать Arquillian.

Я должен сказать, что у меня был очень хороший опыт работы с "ejb3unit".

Но, похоже, проект "EJB3unit" не обслуживался уже 2-3 года. Но, что удивительно, несколько недель назад на сайте ejb3unit снова появились некоторые действия.

Arquillian не так легко начать. Я бы сказал, что это главным образом связано с документацией, отсутствующими примерами и хорошими турориалами.

Но пока вы сделали свой первый тестовый пробник Аркиллиан, Аркиллиан начинает сиять!

По следующей ссылке вы можете найти пошаговое руководство по настройке Arquillian:

http://milestonenext.blogspot.de/2012/12/ejb3-integration-test-with-arquillian.html

0 голосов
/ 12 октября 2011

Если вы используете j2ee 6, вы можете использовать EJBContainer для создания полного экземпляра ejb.

http://download.oracle.com/javaee/6/api/javax/ejb/embeddable/EJBContainer.html

http://download.oracle.com/javaee/6/tutorial/doc/gkcrr.html

...