Устаревшая база данных, свободное владение NHibernate и тестирование моих сопоставлений - PullRequest
3 голосов
/ 11 марта 2010

Как видно из заголовка поста, у меня есть устаревшая база данных (не уверена, имеет ли это значение), я использую Fluent NHibernate и пытаюсь протестировать свои сопоставления с помощью Fluent NHibernate PersistenceSpecification .

Мой вопрос на самом деле является рабочим, я хочу проверить его, когда я собираюсь локально в Visual Studio, используя встроенную среду модульного тестирования. Очевидно, это подразумевает (я думаю), что мне понадобится база данных. Какие есть варианты для получения этого в сборке? Если я использую базу данных в памяти, есть ли в NHibernate или Fluent NHibernate какой-то механизм для всасывания схемы базы данных из целевой базы данных или, может быть, база данных в памяти может сделать это? Нужно ли вручную получать схему для подачи в базу данных в памяти?

В идеале я хотел бы получить эту настройку, чтобы другие разработчики на самом деле не должны были думать об этом, кроме случаев, когда они ломают сборку, потому что тесты не проходят.

1 Ответ

2 голосов
/ 12 марта 2010

NHibernate не может заново создать схему вашей базы данных, и, поскольку это устаревшая система, вы, вероятно, не сможете сгенерировать схему из NH. Наилучшим подходом является проведение интеграционных тестов в транзакциях и откат их после завершения. Мы запускаем интеграционные тесты на наших разработчиках и тестируем базы данных, которые периодически обновляются с работающей системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...