Практическое руководство. Отладка объектов базы данных
Модульный тест SQL Server включает следующие элементы:
Код тестирования модулей, написанный на языке Visual C# или Visual Basic.Этот код, который формируется конструктором тестирования модулей SQL Server, отвечает на передачу скрипта Transact-SQL, составляющего основу теста.
Одно или несколько условий теста, написанных на Visual C# или Visual Basic.Для отладки условий теста следуйте процедуре по отладке тестирования модулей, описанной в разделе Как выполнять отладку во время выполнения теста (Visual Studio 2010) или Как выполнять отладку во время выполнения теста (Visual Studio 2012).
Один или несколько скриптов Transact-SQL, которые работают с объектами в тестируемой базе данных.Отладку этих скриптов Transact-SQL выполнять нельзя.
Приведенные в этом разделе инструкции касаются отладки определенных объектов базы данных, например хранимых процедур, функций и триггеров, в тестируемой базе данных.Для выполнения отладки объекта базы данных выполните инструкции в следующем порядке.
Включите отладку SQL Server для проекта тестов.
Включите отладку приложений в экземпляре SQL Server, в котором размещена тестируемая база данных.
Задайте точки останова в скрипте Transact-SQL объектов базы данных, отладка которых выполняется.
Выполните отладку модульного теста.Для этого процесса тест выполняется в режиме отладки.
Включение отладки SQL в проекте тестов
Откройте обозреватель решений.
В обозревателе решений щелкните правой кнопкой мыши проект тестов и выберите Свойства.
Откроется страница свойств с именем проекта тестов.
На странице свойств щелкните Отладка.
В разделе Включить отладчики щелкните Включить отладку SQL Server.
Сохраните изменения.
Задание увеличенного времени ожидания контекста выполнения и включение отладки для тестового проекта
В меню Файл выберите пункт Открыть, а затем щелкните Файл.
Перейдите в папку с проектом тестов и дважды щелкните файл app.config.
Файл app.config откроется в редакторе.
Добавьте в узел ExecutionContext время ожидания команды, как показано в следующем примере.
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
Сохраните изменения.
Перестройте проект модульных тестов.
Важно!
Если не перестроить проект, изменения, внесенные в файл app.config, не будут применяться при запуске модульных тестов и отладка будет завершаться ошибкой.
Добавление точек останова в скрипт Transact-SQL
Из меню Вид откройте SQL Server обозреватель объектов.
На вкладке Подключение к данным разверните узел базы данных, которую необходимо протестировать.
Если рядом со значком базы данных находится маленький красный значок «x», соединение с базой данных закрыто.В этом случае щелкните правой кнопкой мыши базу данных и выберите Обновить.Для открытия соединения с базой данных может потребоваться указать учетные данные.
Разверните узел Представления, Хранимые процедуры или Функции и определите объект, для которого необходимо выполнить отладку.
Дважды щелкните объект, для которого необходимо выполнить отладку.
Щелкните серую полосу, чтобы установить точку останова.
Выполнение отладки модульного теста SQL Server
В Visual Studio 2010 откройте окно Представление теста (Тест -> Окна).В Visual Studio 2012 откройте окно Обозреватель тестов.
Щелкните правой кнопкой мыши тест со скриптом Transact-SQL, работающим с объектом базы данных, в котором были установлены точки останова, и выберите Отладить выделенные элементы.
Тест запустится в режиме отладки и будет выполняться до обнаружения точки останова в объекте базы данных.
(Необязательно) Чтобы открыть другое окно отладки, откройте меню Отладка, укажите пункт Окна и щелкните Точки останова, Вывод или Интерпретация.
См. также
Выполнение модульных тестов SQL Server
Отладка Transact-SQL (Visual Studio 2010)