Это зависит от того, что вы хотите проверить. Часто вы хотите проверить реальную логику в вашем коде, а не данные в базе данных, поэтому настройка полной базы данных просто для запуска ваших тестов - пустая трата времени.
Также рассмотрите объем работы, которая идет на поддержание ваших тестов и тестовой базы данных. Тестирование вашего кода с помощью базы данных часто означает, что вы тестируете свое приложение в целом, а не отдельные его части. Это часто приводит к большой работе по синхронизации базы данных и тестов.
И последняя проблема заключается в том, что тест должен выполняться изолированно, поэтому каждый тест должен либо выполняться в своей собственной версии базы данных, либо оставлять ее в том же состоянии, в каком она была до запуска теста. Сюда входит состояние после неудачного теста.
Сказав это, если вы действительно хотите проверить свою базу данных, вы можете. Существуют инструменты, которые помогают настраивать и разрушать базу данных, например dbunit .
Я видел людей, пытающихся создать модульный тест, подобный этому, но почти всегда оказывается гораздо больше работы, чем оно того стоит. Большинство оставило его на полпути во время проекта, большинство отказалось от ттд полностью во время проекта, думая, что опыт переносится на модульное тестирование в целом.
Поэтому я бы рекомендовал держать тесты простыми и изолированными и инкапсулировать ваш код достаточно хорошо, чтобы стало возможным тестировать ваш код изолированно.