Как правильно протестировать персистентный слой?

Я читал книгу NHibernate в действии, и там говорится о тестировании слоя сохраняемости/слоя абстракции данных. Вы можете проверить два способа. тест сопоставления и логический тест сохраняемости. Согласно книге, тестирующей сопоставление, означает, что объекты правильно загружаются и сохраняются.

Но как насчет обновления и удаления?

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

Как правильно протестировать персистентный слой?


person Rookian    schedule 04.01.2010    source источник


Ответы (2)


В прошлых проектах я писал тесты NUnit, которые выполняли обновление и удаление логики NHibernate для базы данных SQLite.

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

person antik    schedule 04.01.2010
comment
+1: мне проще тестировать с постоянным слоем. Я не издеваюсь над такими вещами. Я создаю тестовую базу данных и просто использую свой код и проверяю результаты в тестовой базе данных. Да, это не чистый модульный тест, но он достаточно близок к чистому, и он использует ORM/постоянство для проверки результатов в базе данных. - person S.Lott; 06.01.2010

Хорошее руководство по шаблонам модульного тестирования можно найти здесь: http://www.codeproject.com/KB/architecture/autp5.aspx

person Jay    schedule 04.01.2010
comment
Вопрос. Как правильно протестировать слой сохраняемости? A: Используйте тестовые шаблоны, приведенные в обсуждении модульного тестирования по предоставленной ссылке. - person Jay; 05.01.2010