Написание функциональных тестов с серверным Java-приложением, которое не является приложением Java EE.

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

До сих пор ни у одной из этих конечных точек не было функциональных тестов (с использованием чего-то вроде htmlunit), что явно плохо.

Мне поручили это сделать. Мое определение успеха состоит в том, чтобы он вел себя как можно лучше, как Grails, и его плагин функционального тестирования или традиционный Java EE будет использовать отказоустойчивый плагин maven.

Приложение имеет метод main(). Внутри все (например, источники данных, как задания сочетаются друг с другом и т. д.) настроено в Spring.

У кого-нибудь есть предложения по стратегии? Не стесняйтесь подсказывать мне дополнительную информацию.


person Michael Kohout    schedule 08.06.2011    source источник


Ответы (2)


Посмотрите на структуру TestContext Spring. Он позволяет создавать файлы контекста приложения для конкретных тестов и имеет аккуратный интеграция с JUnit 4 для поддержки транзакций JDBC для функциональности вашей базы данных. По сути, Spring создает новую транзакцию, запускает ваш тестовый метод, а затем откатывает транзакцию после того, как у вас была возможность подтвердить правильность изменений в базе данных. Вы можете запускать интеграционные тесты с немодифицированным кодом DAO в действующей базе данных, не прибегая к последующей очистке.

person Pavel    schedule 08.06.2011

В итоге я использовал тест Джерси (см. эта запись SO).

person Michael Kohout    schedule 30.06.2011