Для всех, кто не торопился, чтобы прочитать мой вопрос, хочу отметить, что я пишу интеграционные тесты NOT Unit-tests.Как написать тесты интеграции ASP.NET API
Используя определение интеграционного тестирования, предоставляемых сайтов (которые находятся в нижней части вопроса):
Интеграционные тесты не использовать фиктивные объекты для замены реализаций для зависимостей службы. Вместо этого интеграционные тесты основываются на сервисах и компонентах приложения. Целью интеграционных тестов является использование функциональных возможностей приложения в его обычной среде исполнения.
Мой вопрос в том, что является лучшей практикой при написании теста интеграции для веб-API ASP.net. На данный момент я использую подход к размещению в памяти, предоставленный Филиппом. W. сообщение в блоге.
Мой второй вопрос: как вы гарантируете, что ваши тестовые данные есть и являются правильными, когда вы не являетесь Mocking (msdn и другие сайты четко говорят, что интеграционный тест не издевается над базами данных). Интернет наполнен примерами того, как писать очень простые тесты интеграции, но имеет нулевые примеры для более сложных API (все, что идет дальше, чем возвращение 1)
Справочные сайты: https://msdn.microsoft.com/en-us/library/ff647876.aspx
https://msdn.microsoft.com/en-us/library/vstudio/hh323698(v=vs.100).aspx http://www.codeproject.com/Articles/44276/Unit-Testing-and-Integration-Testing-in-Business-A http://blog.stevensanderson.com/2009/06/11/integration-testing-your-aspnet-mvc-application/
Filip. W. In-Memory-Хостинг: http://www.strathweb.com/2012/06/asp-net-web-api-integration-testing-with-in-memory-hosting/
Спасибо. Ваш ответ дал мне несколько советов о том, как это сделать, но я не буду отмечать это как ответ, так как я хотел бы услышать больше мнений по этой теме. – Stralos