На мой взгляд, использование DBUnit для тестирования вашего зависимого от БД кода имеет несколько преимуществ.Это может относиться или не относиться ко всем, я согласен.Я сам не использовал DBUnit до самого недавнего времени, поскольку обнаружил, что для небольших проектов, в которых я участвую, это было излишним.
Использование DBUnit разъединяет ваши тесты с базой данных.Ваша тестируемая система не должна зависеть от того, какой сервер БД будет работать, вам нужна как можно большая изоляция.Обычно это не имеет большого значения, поскольку многие люди используют модульные тесты для интеграционного тестирования, и для этого вы бы предпочли использовать настройку базы данных, максимально соответствующую вашей производственной среде.
Еще одна причина, по которой DBUnit выгоден, заключается в экономии времени при написании тестов.Написание тестов - это не та часть программирования, которая мне нравится делать, и использование имитаций, когда это возможно, экономит много времени.Конечно, создать копию вашей базы данных легко, но вам все равно придется создавать скрипты для загрузки тестовых данных, иметь скрипты для сброса тестовых данных между каждым тестовым прогоном.Многие тесты будут зависеть от конкретных наборов данных, и их будет сложнее поддерживать по мере добавления тестов.Конечно, все эти настройки должны быть синхронизированы с вашим реальным приложением по мере его развития.В зависимости от приложения это может занять очень отнимание времени.В некоторых приложениях есть тысячи тестов, и это печально, когда простое изменение в приложении приводит к необходимости переписать 20 тестов и их наборы данных.
При всем этом, есть кривая обученияиспользуйте DBUnit , и при первом запуске с ним может потребоваться немного времени.После того, как оно установлено для одного теста, оно экономит время для последующих.Я не использую его везде, так как у меня написано много тестов, которые зависят от реального сервера, но новый код и тесты, которые я пишу, я пытаюсь использовать в своей первоначальной настройке DBUnit, и очевидно, что это экономит время в длинном беге .
Мои 2 цента, добрый день, друг.