Как создать модульные тесты для кода на основе EJB 3.0, который будет развернут в jboss 5.1? - PullRequest
3 голосов
/ 27 мая 2011

Greetings,

Мне интересно добавить тестовое покрытие для существующего приложения.Используемые технологии включают EJB 3.0, jboss 5.1, Hibernate и MySQL.Этот проект построен с использованием Ant.Цель состоит в том, чтобы обеспечить тестовое покрытие для этого приложения, чтобы можно было с уверенностью добавлять другие функции.

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

Я нашел EJB3Unit многообещающим.http://ejb3unit.sourceforge.net/Installation.html

Однако примеры для настройки приведены для maven, и мы используем Ant.

Если кто-нибудь может помочь с настройкой простого примера теста с EJB3Unit и Ant, это будет очень полезно.

Спасибо за ваше время,

Conor

1 Ответ

0 голосов
/ 04 августа 2011

Вы должны спросить себя "Что именно я пытаюсь проверить?"первый.

Если вы хотите протестировать свой EJB3 изолированно, помните, что EJB3 - это просто POJO.Вы можете вызвать класс напрямую из тестового метода jUnit.

Если вы хотите проверить свой EJB, сервер приложений, контейнер и вашу сеть (если используется аннотация @Remote), то вы можете написать класс интеграционного теста, который ищет @Remote или @Local EJBв дереве JNDI вашего контейнера, например, так:

@Test
public void callEjb() throws Exception {
    Context context = new InitialContext();
    YOUR_EJB_CLASS myEjb = (YOUR_EJB_CLASS) context
            .lookup(JNDI_PATH_FOR_YOUR_EJB);
    myEjb.myMethod();
}

Если вы хотите протестировать свой EJB как EJB и отделить его от EJB-контейнера, то вместо этого может быть EJB3.

PS Не позволяйте Maven пугать вас.Я еще не использовал его, но кажется, что он приобретает все большую популярность, чем муравей.

...