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