Тестирование контекста в asp.net mvc - PullRequest
0 голосов
/ 31 марта 2010

У меня достаточно опыта в тестировании контроллеров, но мой вопрос здесь, разве мы не должны тестировать и контекст данных, и как? Я имею в виду, что существует множество взаимосвязей и ограничений, исходящих от БД, которые не распространяется на простое тестирование контроллеров.

С другой стороны, тестирование на БД не считается хорошей практикой - что тогда? Просто тестирование без db.SubmitChanges () или что?

Ответы [ 3 ]

1 голос
/ 01 апреля 2010

ИМХО не стоит тестировать DataContext. Надеюсь, Microsoft уже сделала это, поэтому тестирование сохранения данных SubmitChanges в БД для меня не имеет смысла. Вам следует провести интеграционное или веб-тестирование, чтобы определить конкретные сценарии и проверить выходные данные из приложения.

0 голосов
/ 31 марта 2010

Когда дело доходит до тестирования ваших репозиториев, типичным подходом является создание базы данных в памяти, которую можно разрушать и перестраивать при каждом запуске тестов. Используя этот подход, вы всегда будете знать, как будут выглядеть данные, чтобы вам было легче делать на них заявления. Кроме того, вы не будете прикасаться к своим реальным данным, что всегда положительно. Для этого Sqlite является самым популярным в .NET-пространстве.

0 голосов
/ 31 марта 2010

Да, вы должны выполнить интеграцию тестирования своего контекста данных, чтобы убедиться, что любой «код», который вы помещаете в саму базу данных, работает - ограничения уникальности, триггеры и т. Д. Это не означает, что однако вам следует провести тестирование unit на базе данных. Тем не менее, любой код, который вы помещаете в классы моделей, должен быть модульным. Как правило, вы можете сделать это без непосредственного тестирования базы данных. Например, любой код проверки должен запускаться без необходимости вставки или обновления базы данных.

...