Я реализую интерфейс в класс C#, чья работа в основном заключается в том, чтобы вызвать некоторые хранимые процедуры T-SQL и вернуть данные. Другие реализации интерфейса могут получать данные через веб-службы, читать файлы и т. Д., Поэтому для проверки этого конкретного класса я идеально издевался над базой данных SQL Server и ее процедурами.Стыковка вызовов хранимых процедур SQL Server?
Я не уверен, насколько это возможно. Я видел такие инструменты, как RhinoMock, используемые для извлечения базы данных таблиц, но так как вся цель моего кода заключается в том, чтобы поговорить с БД, могу ли я высмеять всю БД или это немного пустая трата времени? В идеале я хотел бы, чтобы прозрачно предоставить замену для реальной БД, поэтому можно провести локальное тестирование, делая реальные вызовы хранимой процедуры против поддельной БД.
Вы уверены, что @inquisitive_mind? Это было бы идеально, но: http://stackoverflow.com/questions/3335162/creating-stored-procedure-and-sqlite –
@montewhizdoh, возможно, вы правы! –
Я думаю, все зависит. Вы действительно не хотите писать модульные тесты, которые в конечном итоге заканчивают тестирование кода, отличного от того, что вы написали. Тестирование, чтобы увидеть, работает ли соединение, относится к этой серой области: «Я тестирую SQL Server, или я тестирую свой код?» и «я использую правильную строку соединения?». Лучше спросить: какие существуют кодовые пути, входящие и исходящие из хранимой процедуры? Являются ли тесты коаксичными с функциональными вариантами использования? Если вы TDD, вы хотите, чтобы он был тесно связан с функциональными вариантами использования - в этот момент все начнется очень хорошо. – code4life