How to unit test EJB3 without a container

Unit test EJB3 without a container has become much easier since the EJB 3.1 spec with the introduction of the embeddable EJBContainer concept. An embeddable EJBContainer is a container for enterprise beans that does not require a Java EE server to run.

Interesting usage scenarios are:

  • EJB unit testing: you don’t need to install a JavaEE server for EJB development, unit testing and deployment to the container
  • Lightweight: the embeddable container has a much smaller footprint
  • Fast: starts faster than the full server, because it only initializes EJB-related components

Sample code

Below you can find a simple setup method for a JUnit test that configures the Embeddable EJBContainer.

@Before
public void setup() {
	Properties properties = new Properties();
	properties.setProperty(EJBContainer.MODULES, "myModule");
	properties.put(EJBContainer.PROVIDER, "tomee-embedded");
	Context context = EJBContainer.createEJBContainer().getContext();
}

@After
public void tearDown() throws NamingException {
	ejbContainer.close();
}

Here myModule is the module-name defined in ejb-jar.xml file

So how does the EJBContainer start an embedded EJB container? You’ll need to provide an embedded EJB container on the classpath. Normally all Application servers supporting JavaEE6 have to provide such an embedded EJB container.

Apache TomEE container This example uses Apache TomEE as it provides an easy way to specify the correct dependencies via Maven.

<dependency>
	<groupId>org.apache.openejb</groupId>
	<artifactId>tomee-embedded</artifactId>
	<version>1.5.2</version>
</dependency>            
<dependency>
	<groupId>javax</groupId>
	<artifactId>javaee-api</artifactId>
	<version>6.0</version>
	<scope>provided</scope>
</dependency>

The properties.put(EJBContainer.PROVIDER, “tomee-embedded”) makes sure that we will use Apache TomEE when running the test. (even if there is another provider on the classpath)

0 thoughts on “How to unit test EJB3 without a container”

  1. Обзор казино Крипто босс: уникальный игровой опыт в мире криптовалют
    Крипто босс — это современное онлайн-казино, которое с каждым годом привлекает все больше пользователей благодаря своим уникальным предложениям и актуальности в мире цифровых валют. В этой статье мы рассмотрим казино Крипто босс, его рабочие зеркала, а также преимущества использования официального сайта.
    Что такое казино Крипто босс?
    В первую очередь казино Cryptoboss представляет собой площадку, которая дает игрокам возможность получать выплаты и производить платежи через обмен криптовалют. Cryptoboss casino это огромный выбор самых разнообразных игровых автоматов, также присутствуют лайв столы и живые крупье.
    Cryptoboss casino и его рабочие зеркала
    Рабочие зеркала — это альтернативные ссылки на официальный сайт, которые позволяют игрокам получить доступ к ресурсам казино даже в случае блокировки основного сайта провайдером. Такие зеркала обеспечивают стабильный доступ к играм и сервисам, сохраняя все функции и безопасность. ссылки на игровые казино зеркала модно найти в интернете и в специальных каналах которые всегда доступны для пользователя.
    Преимущества официального сайта Крипто босс казино
    Официальный сайт Крипто босс казино обладает рядом значительных преимуществ:
    – В первую очередь это анонимность самого процесса игра и полная безопасность промо крипто босс на спины
    Казино предлагает высокий уровень защиты данных клиентов, поскольку используемые криптовалюты обеспечивают анонимность транзакций и защиту личной информации.
    – огромный асортимент игр
    На платформе представлено множество игр от различных провайдеров, включая слоты, рулетку, блэкджек и другие популярные азартные игры.
    – Доступность для разных устройств
    Вы можете быть и играть на официальном сайте как с ПК так и с любого мобильного устройства.
    – Бонусы и акции .
    – Максимальное удобство пополнения депозитов а также вывод средств в удобной для игрока криптовалюте.
    – Поддержка клиентов .
    Казино Крипто босс представляет собой перспективную платформу для азартных игр, комбинируя использование современных технологий и популярные азартные игры. Рабочие зеркала и доступный официальный сайт делают его доступным для широкой аудитории, а преимущества, предлагаемые казино, привлекают как новичков, так и опытных игроков. В мире криптовалют Крипто босс занимает уверенные позиции благодаря своей безопасности, разнообразию игр и удобству использования.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.