Я делаю первые шаги с MsTest и Moq и хотел бы unit test класс репозитория Linq2SQL. Проблема заключается в том, что я не хочу, чтобы модульные тесты постоянно изменяли мою базу данных разработки.
Какой был бы лучший подход для этого сценария?
- Пусть каждый тест работает с моей реальной базой данных разработки, но убедитесь, что каждый тест очищается после себя
- Создайте дубликат моей базы данных разработки и dbml для unit test и используйте этот контекст вместо этого, чтобы я мог очистить всю базу данных до каждого тестового прогона
- Найдите сложный способ издеваться над Datacontext (помните, что я - полный Moq noob).
- Что-то совсем другое? Возможно, что-то, что автоматизирует настройку базы данных для меня перед каждым испытанием?
Изменить: Я только узнал, что MBUnit имеет атрибут отката, который отменяет любые операции с базой данных, выполняемые тестовым примером. Я не особенно привязан к MSTest, так может ли это быть легким ответом на мою проблему?