Если в текущем решении нет тестовых проектов, то Visual Studio создаст для вас такой проект (в соответствии с вашим выбором в выпадающем списке рис. 29.25). После создания проекта вы получите запрос о подключении к базе данных, которое необходимо использовать для тестового проекта.
На рис. 29.26 показано окно, в котором вы введете эту информацию. Это окно показывает также еще одну важную функциональную возможность модульных тестов для баз данных: вы
можете указать второе подключение, используемое для проверки тестовых результатов. Это позволяет вам указать обычное подключение с правами пользователя для выполнения тестов (это основное подключение), а также подключение с более высокими правами владельца базы данных (или администратора) для проверки тестов (это второстепенное подключение).
Визуальный конструктор модульных тестов для баз данных
Показанный на рис. 29.27 визуальный конструктор модульных тестов для баз данных отображает тестовую заглушку для хранимой процедуры dbo.uspGetManagerEmployees.
В данном случае предположим, что мы хотим протестировать правильность хранимой процедуры. Поскольку мы знаем загруженные в базу тестовые данные, то мы также знаем, что при передаче в эту хранимую процедуру идентификатора менеджера 16 она должна вернуть нам ровно 20 строк. Для создания на основе этого предположения блочного теста нам необходимо сначала установить значение входного параметра равным 16. Это легко сделать посредством редактирования кода Т-SQL блочного теста следующим образом:
SELECT @RC = 0, @ManagerID =16
Теперь нам необходимо тестовое условие, которое будет искать ожидаемое количество строк. В нижней панели визуального конструктора выберите в раскрывающемся списке Test Conditions значение Row Count и щелкните значок плюса. После этого условие будет добавлено в список условий. После добавления условия нам необходимо задать фактическое значение для условия.
Дважды щелкните по условию для того, чтобы увидеть окно его
свойств. В этом окне вы можете установить свойство Row Count в значение 20. На рис. 29.28 показано настроенное условие для нашего теста.