У меня есть проект с большим количеством классов, которые используют Nhibernate. Теперь я хочу использовать NUnit для тестирования этих классов. Есть ли какие-то конкретные вещи, которые я должен рассмотреть?
Являетесь ли вы модульным тестированием отображений классов, т.е. данные сохраняются нормально или логика внутри классов?
Картографические тесты
Я предлагаю вам использовать Sqlite и тестирование в памяти для отображений гибернации - хотя это не технически модульное тестирование. Я буду создавать сеанс каждый раз, когда вы запускаете тест, чтобы при использовании инфраструктуры nunit использовать атрибут [SetUp] в методе, чтобы указать nunit запустить код создания сеанса. Убедитесь, что сессия закрыта и утилизирована в конце теста.
http://support.fluentnhibernate.org/discussions/help/87-in-memory-sqlite-database-for-persistencespecification-testing
Модульное тестирование
Модульное тестирование включает в себя макетирование большей части nhibernate, чтобы вы тестировали классы.
http://ayende.com/Blog/archive/2009/04/18/mocking-nhibernate.aspx
Вы можете издеваться над NHibernate. Ссылки ниже могут помочь вам:
Дразнить сессию NHibernate с Moq Тестирование NHibernate, сессия ISession
Я хотел бы рассмотреть возможность использования NDBUnit. Это позволяет вам выполнить модульное тестирование базы данных, в то время как оценка состояния вашей базы данных не зависит от внешних факторов. Вы можете использовать это вместе с NUnit для проверки класса.
Вам нужно создать сеанс в начале (или во время) теста ....
Вот и все ...
Все остальное тоже самое ...