Как я делаю TDD эффективно с NHibernate?

Просто удалите спецификацию динамического исключения. Это все, что вам нужно сделать.

C ++ не является Java; в C ++ предполагается, что все функции (на уровне языка) генерируют что-либо, если только они не помечены noexcept. Таким образом, если вы удалите спецификацию исключения, она будет работать точно так же, как и раньше.

8
задан roufamatic 5 May 2011 в 23:19
поделиться

4 ответа

Я использую Шаблон Репозитория для выполнения операций Базы данных, и каждый раз, когда я запускаю свои Тесты, я просто запускаю высокоуровневые тесты который просто Насмешка Репозиторий (с RhinoMocks).

У меня есть отдельный комплект тестов, который явно тестирует уровень Repository и отображения NHibernate. И они обычно не изменяются так же как бизнес и gui логика выше их.

Тем путем я получаю очень быстрые UnitTests, которые никогда не поражают DB и все еще хорошо протестированный Слой DB

14
ответ дан 5 December 2019 в 08:55
поделиться

Доступ к данным поблочного тестирования не возможен, но Вы можете интеграция тестировать его. Я создаю интеграционный тест на свой доступ к данным в отдельном проекте от моих модульных тестов. Я только выполняю (медленные) интеграционные тесты, когда я изменяю что-то в репозиториях, отображении или схеме базы данных. Поскольку интеграционные тесты не смешаны с модульными тестами, я могу все еще выполнить модульные тесты приблизительно 100 раз в день без того, чтобы быть раздражаемым.

4
ответ дан 5 December 2019 в 08:55
поделиться

Вы попытались изменить некоторые значения по умолчанию в дополнительных свойствах конфигурации? Замедление, скорее всего, связано с определенной оптимизацией nhibernate, делает с генерацией кода.

http://nhibernate.info/doc/nh/en/index.html#configuration-optional

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

0
ответ дан 5 December 2019 в 08:55
поделиться
1
ответ дан 5 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: