Для выполнения TDD с NHibernate может быть полезно настроить вашу базу данных в определенных сценариях. Одна из техник, которую я использовал, это с использованием базы данных SQLite в памяти . Поскольку для каждого теста создается новая база данных, вам не нужно беспокоиться о противоречивых результатах многократного запуска тестов, которые может вызвать постоянная база данных. Кроме того, тестовый код можно распространять без необходимости того, чтобы кто-либо еще выполнял экземпляр Oracle, SQL Server и т. Д.
Кроме того, важно провести интеграционное тестирование с реальной базой данных, поскольку поведение может немного отличаться даже при использовании хорошего ORM, такого как NHibernate.