Практическое руководство. Отладка объектов базы данных

 

Модульный тест SQL Server включает следующие элементы:

  • Код тестирования модулей, написанный на языке Visual C# или Visual Basic.Этот код, который формируется конструктором тестирования модулей SQL Server, отвечает на передачу скрипта Transact-SQL, составляющего основу теста.

  • Одно или несколько условий теста, написанных на Visual C# или Visual Basic.Для отладки условий теста следуйте процедуре по отладке тестирования модулей, описанной в разделе Как выполнять отладку во время выполнения теста (Visual Studio 2010) или Как выполнять отладку во время выполнения теста (Visual Studio 2012).

  • Один или несколько скриптов Transact-SQL, которые работают с объектами в тестируемой базе данных.Отладку этих скриптов Transact-SQL выполнять нельзя.

Приведенные в этом разделе инструкции касаются отладки определенных объектов базы данных, например хранимых процедур, функций и триггеров, в тестируемой базе данных.Для выполнения отладки объекта базы данных выполните инструкции в следующем порядке.

  1. Включите отладку SQL Server для проекта тестов.

  2. Включите отладку приложений в экземпляре SQL Server, в котором размещена тестируемая база данных.

  3. Задайте точки останова в скрипте Transact-SQL объектов базы данных, отладка которых выполняется.

  4. Выполните отладку модульного теста.Для этого процесса тест выполняется в режиме отладки.

Включение отладки SQL в проекте тестов

  1. Откройте обозреватель решений.

  2. В обозревателе решений щелкните правой кнопкой мыши проект тестов и выберите Свойства.

    Откроется страница свойств с именем проекта тестов.

  3. На странице свойств щелкните Отладка.

  4. В разделе Включить отладчики щелкните Включить отладку SQL Server.

  5. Сохраните изменения.

Задание увеличенного времени ожидания контекста выполнения и включение отладки для тестового проекта

  1. В меню Файл выберите пункт Открыть, а затем щелкните Файл.

  2. Перейдите в папку с проектом тестов и дважды щелкните файл app.config.

    Файл app.config откроется в редакторе.

  3. Добавьте в узел ExecutionContext время ожидания команды, как показано в следующем примере.

    <ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
    
  4. Сохраните изменения.

  5. Перестройте проект модульных тестов.

Важно!

Если не перестроить проект, изменения, внесенные в файл app.config, не будут применяться при запуске модульных тестов и отладка будет завершаться ошибкой.

Добавление точек останова в скрипт Transact-SQL

  1. Из меню Вид откройте SQL Server обозреватель объектов.

  2. На вкладке Подключение к данным разверните узел базы данных, которую необходимо протестировать.

  3. Если рядом со значком базы данных находится маленький красный значок «x», соединение с базой данных закрыто.В этом случае щелкните правой кнопкой мыши базу данных и выберите Обновить.Для открытия соединения с базой данных может потребоваться указать учетные данные.

  4. Разверните узел Представления, Хранимые процедуры или Функции и определите объект, для которого необходимо выполнить отладку.

  5. Дважды щелкните объект, для которого необходимо выполнить отладку.

  6. Щелкните серую полосу, чтобы установить точку останова.

Выполнение отладки модульного теста SQL Server

  1. В Visual Studio 2010 откройте окно Представление теста (Тест -> Окна).В Visual Studio 2012 откройте окно Обозреватель тестов.

  2. Щелкните правой кнопкой мыши тест со скриптом Transact-SQL, работающим с объектом базы данных, в котором были установлены точки останова, и выберите Отладить выделенные элементы.

    Тест запустится в режиме отладки и будет выполняться до обнаружения точки останова в объекте базы данных.

  3. (Необязательно) Чтобы открыть другое окно отладки, откройте меню Отладка, укажите пункт Окна и щелкните Точки останова, Вывод или Интерпретация.

См. также

Выполнение модульных тестов SQL Server
Отладка Transact-SQL (Visual Studio 2010)