Из вашего вопроса неясно, хотите ли вы запускать интеграционные тесты (интерфейсный + серверный) или модульные тесты для вашего уровня базы данных.
Если вам нужен инструмент, позволяющий писать интеграционные тесты, обязательно обратите внимание на Selenium. С помощью Selenium вы можете создавать функциональные тесты, просто перемещаясь по вашему веб-сайту (страницам JSP) и утверждая, что материал на странице существует или равен некоторым значениям.
Selenium поставляется с плагином Firefox, который в основном генерирует код для вас. Вы можете воспроизвести тест в браузере или экспортировать его в виде кода Java и сделать частью набора тестов. Selenium — бесценный инструмент.
Недостаток использования такого инструмента, как Selenium, заключается в том, что ваше приложение должно быть где-то развернуто, прежде чем вы сможете запустить свой набор тестов. Это может быть ограничением, если вы планируете запускать автоматические тесты, созданные с помощью Selenium.
Если вас интересует только тестирование кода доступа к базе данных (DAO, уровень доступа к данным), DBUnit — идеальный инструмент. Как правило, DBUnit используется для инициализации таблиц базы данных перед тестированием и, реже, для проверки содержимого базы данных. DBUnit использует формат на основе XML для представления данных, которые будут вставлены в базу данных.
Файлы XML, содержащие данные для предварительного заполнения базы данных, обычно запускаются сценарием сборки (Ant, Maven и т. д.) или непосредственно в коде модульного теста. Я использовал оба подхода, это действительно зависит от того, как структурирован ваш код и как вы получаете доступ к базе данных (Hibernate, Spring+Hibernate, JDBC...).
Если ваша база данных не слишком велика, я бы рекомендовал вам заполнить ее непосредственно перед запуском набора тестов. В качестве альтернативы вы можете заполнить только те таблицы, которые вы хотите протестировать перед каждым тестом.
Вот ссылка на Unitils, дополнительную библиотеку, которую можно использовать поверх DBUnit для упрощения стратегии тестирования базы данных. Думаю, его можно использовать в качестве справочного материала для начала работы: http://www.unitils.org/tutorial.html#Database_testing
Вот еще одна ссылка (довольно старая, 2004 года), показывающая базовую механику DBUnit:
http://onjava.com/pub/a/onjava/2004/01/21/dbunit.html
person
Luciano Fiandesio
schedule
12.04.2011