Во-первых, если вы задействовали базу данных, вы больше не проходите модульное тестирование.Вы ввели интеграцию (для настройки соединения) или функциональное тестирование.И это очень разные звери.
Метод подключения определенно должен быть отделен от выборки данных.Фактически, ваше соединение должно исходить от фабрики, чтобы вы могли объединить его.Что касается тестирования соединения, то на самом деле все, что вы можете проверить, это то, что ваша конфигурация верна, если вы подключаетесь к БД.Вы не должны пытаться протестировать свой пул соединений, так как это, вероятно, должна быть библиотека, написанная кем-то другим (dbcp или c3p0).Более того, вы, вероятно, не можете это проверить, поскольку ваши модульные / интеграционные / функциональные тесты НИКОГДА не должны подключаться к базе данных производственного уровня.
Что касается проверки работоспособности вашего кода доступа к данным.Это функциональное тестирование, включающее в себя множество фреймворков и поддержки.Вам нужна отдельная БД для тестирования, возможность создавать схему на лету во время тестирования, вставлять любые статические данные в таблицу и возвращать базу данных в известное чистое состояние после каждого теста.Кроме того, эта БД должна создаваться и запускаться таким образом, чтобы 2 человека могли одновременно выполнять тесты.Особенно, если у вас более одного разработчика, плюс поле автоматического тестирования.
Утверждения должны быть сопоставлены с данными, которые являются либо статическими данными (например, список состояний, который не часто меняется), либо с данными, которые являютсявставляется во время теста и удаляет послесловия, чтобы он не мешал другим тестам.
РЕДАКТИРОВАТЬ: Как уже отмечалось, есть рамки, чтобы помочь с этим.DBUnit довольно распространен.