Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Приложение standalone

Приложение standalone демонстрирует, как создать объект встроенного контейнера Enterprise-бина в тестовом классе JUnit и вызвать бизнес-метод сессионного компонента.

Здесь рассматриваются следующие темы:

Обзор приложения standalone

Тестирование бизнес-методов Enterprise-бина в модульном тесте позволяет разработчикам использовать бизнес-логику приложения отдельно от других уровней приложения, таких как уровень представления, без необходимости развёртывания приложения на сервере Java EE.

Пример standalone имеет два основных компонента: StandaloneBean, сессионный компонент без сохранения состояния и StandaloneBeanTest, тестовый класс JUnit, который действует как клиент для StandaloneBean с использованием встроенного контейнера.

StandaloneBean — это простой сессионный компонент, представляющий локальное представление без интерфейса с одним бизнес-методом, returnMessage, который возвращает «Greetings!» как String:

@Stateless
public class StandaloneBean {

    private static final String message = "Greetings!";

    public String returnMessage() {
        return message;
    }

}

StandaloneBeanTest вызывает StandaloneBean.returnMessage и проверяет правильность возвращённого сообщения. Во-первых, встроенный объект контейнера и начальный контекст создаются в методе setUp, который аннотируется org.junit.Before, чтобы указать, что метод должен быть выполнен перед тестовыми методами:

@Before
public void setUp() {
    ec = EJBContainer.createEJBContainer();
    ctx = ec.getContext();
}

Метод testReturnMessage, аннотированный org.junit.Test, чтобы указать, что метод включает в себя модульный тест, получает ссылку на StandaloneBean через Context и вызывает StandaloneBean.returnMessage. Результат сравнивается с ожидаемым результатом с использованием утверждения JUnit assertEquals. Если строка, возвращённая из StandaloneBean.returnMessage, равна "Greetings!" тест проходит:

@Test
public void testReturnMessage() throws Exception {
    logger.info("Testing standalone.ejb.StandaloneBean.returnMessage()");
    StandaloneBean instance = (StandaloneBean)
            ctx.lookup("java:global/classes/StandaloneBean");
    String expResult = "Greetings!";
    String result = instance.returnMessage();
    assertEquals(expResult, result);
}

Наконец, метод tearDown, аннотированный org.junit.After для указания того, что метод должен быть выполнен после выполнения всех модульных тестов, закрывает объект встроенного контейнера:

@After
public void tearDown() {
    if (ec != null) {
        ec.close();
    }
}

Запуск приложения standalone с использованием IDE NetBeans

  1. Удостоверьтесь, чтобы GlassFish Server был запущен (см. Запуск и остановка сервера GlassFish).

  2. В меню «Файл» выберите «Открыть проект».

  3. В диалоговом окне «Открыть проект» перейдите к:

    tut-install/examples/ejb
  4. Выберите каталог standalone и нажмите «Открыть проект».

  5. На вкладке «Проекты» кликните правой кнопкой мыши standalone и выберите Test.

    Это выполнит тестовый класс JUnit StandaloneBeanTest. На вкладке «Вывод» отображается ход теста и журнал вывода.

Запуск приложения standalone с использованием Maven

  1. Удостоверьтесь, чтобы GlassFish Server был запущен (см. Запуск и остановка сервера GlassFish).

  2. В окне терминала перейдите в:

    tut-install/examples/ejb/standalone/
  3. Введите следующую команду:

    mvn install

    Эта команда компилирует и упаковывает приложение в файл JAR и выполняет тестовый класс JUnit StandaloneBeanTest.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)