Модульное тестирование управляемых Бином транзакций в EJB 3.x вне контейнера - PullRequest
0 голосов
/ 17 ноября 2011

Есть ли хороший способ для модульного тестирования BMT в EJB 3.x вне контейнера.Я считаю, что имеет смысл тестировать транзакции правильно, когда мы их кодируем.ИМХО, важно проверить то, что мы кодируем, с самого первого этапа.Итак, если есть хороший способ, который прост и не требует много времени для выполнения теста BMT, то это было бы очень кстати.

В настоящее время я использую БД в памяти дляпроверить мой JPAQL в EJB вне контейнера .Я использую unitils-DBUnit для ввода тестовых данных в мою БД.Итак, когда испытательный стенд установлен, в специальных сценариях, где мне нужно проверить BMT, что мне делать?

PS: я посмотрел на такие инструменты, как Bitronix , ноЯ действительно не уверен, поможет ли это моему делу.Мне нужен какой-то инструмент, который действительно требователен к производительности и легок, чтобы не расстраивать разработчиков - это модульное тестирование.Пожалуйста, дайте мне ваш вклад по этому вопросу тоже.По вашему мнению, такой инструмент подойдет для моих целей.Если да, есть ли у вас примеры, на которые я могу сослаться?

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 29 ноября 2011

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

Битроникс работает нормально и удовлетворяет моей цели.Выполнение тестов занимает менее секунды.Поэтому мне больше не нужно имитировать мои транзакции, и я могу быть уверен, что транзакции будут работать так, как я ожидаю, что они будут работать до того, как мой код перейдет на этап тестирования интеграции.Я также видел положительные отзывы об Atomikos, но я никогда не пробовал.Может быть, я смогу обновить эту тему, когда буду оценивать Atomikos.

0 голосов
/ 18 ноября 2011

Вам действительно нужно тестировать "вне контейнера" ​​или достаточно "вне сервера"?Если первое, вы смотрели на поддержку встраиваемого контейнера EJB в EJB 3.1?Встраиваемый EJB-контейнер выполняется в автономном Java-процессе (идеально подходит для модульных тестов), и для встраиваемого EJB-контейнера требуется BMT согласно таблице 27 (раздел 21.1) спецификации EJB 3.1.

...