Следует ли проводить интеграционное тестирование DAO на сервере приложений? - PullRequest
1 голос
/ 07 июня 2010

У меня разрабатывается трехуровневое приложение, и я создаю интеграционные тесты для DAO на уровне персистентности. Когда приложение запускается в Websphere или JBoss, я ожидаю использовать пул соединений и диспетчер транзакций этих серверов приложений. Когда приложение будет запущено в Tomcat или Jetty, мы будем использовать C3P0 для пула и Atomikos для транзакций.

Из-за этих различных подсистем следует ли тестировать DAO в полностью сконфигурированной среде сервера приложений или мы должны решать эти проблемы при интеграционном тестировании уровня обслуживания? В настоящее время мы планируем настроить простой источник данных JDBC с транзакциями, не относящимися к JTA (т.е. с локальными ресурсами), для тестирования интеграции DAO, поэтому сервер приложений не задействован .... но это заставляет меня задуматься о проблемах окружающей среды, которые мы не будем раскрывать .

Ответы [ 2 ]

2 голосов
/ 07 июня 2010

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

Я не хочу быть педантичным, но в действительности это сопровождается системным тестом для тестирования черного ящика QA.

Для небольших проектов это может быть неосуществимо

1 голос
/ 07 июня 2010

Я думаю, что вы на правильном пути с этим мышлением. Если возможно, вам следует настроить сервер непрерывной интеграции (например, Hudson ), который будет работать в вашей производственной среде. Таким образом, вы можете разрабатывать с высокой степенью уверенности, используя Tomcat и т. Д., Выполняя тесты на локальных установках, и при проверке кода убедитесь, что те же самые тесты выполняются на реальных условиях.

...