@Stateless
public class StandaloneBean {
private static final String message = "Greetings!";
public String returnMessage() {
return message;
}
}
|
Java Platform, Enterprise Edition (Java EE) 8 Учебник по Java EE |
| Назад | Вперёд | Содержание |
Приложение standalone демонстрирует, как создать объект встроенного контейнера Enterprise-бина в тестовом классе JUnit и вызвать бизнес-метод сессионного компонента.
Здесь рассматриваются следующие темы:
Тестирование бизнес-методов 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();
}
}
Удостоверьтесь, чтобы GlassFish Server был запущен (см. Запуск и остановка сервера GlassFish).
В меню «Файл» выберите «Открыть проект».
В диалоговом окне «Открыть проект» перейдите к:
tut-install/examples/ejb
Выберите каталог standalone и нажмите «Открыть проект».
На вкладке «Проекты» кликните правой кнопкой мыши standalone и выберите Test.
Это выполнит тестовый класс JUnit StandaloneBeanTest. На вкладке «Вывод» отображается ход теста и журнал вывода.
Удостоверьтесь, чтобы GlassFish Server был запущен (см. Запуск и остановка сервера GlassFish).
В окне терминала перейдите в:
tut-install/examples/ejb/standalone/
Введите следующую команду:
mvn install
Эта команда компилирует и упаковывает приложение в файл JAR и выполняет тестовый класс JUnit StandaloneBeanTest.
| Назад | Вперёд | Содержание |
Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены.
Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)