Поделиться через


Практическое руководство. Отладка во время выполнения теста в решении ASP.NET

Можно отлаживать как модульные тесты, так и веб-тесты, используемые для тестирования веб-проектов ASP.NET.Можно также отлаживать продуктивный код ASP.NET во время выполнения теста.

При этом во время тестирования кода ASP.NET, код теста не выполняется обычном образом в процессе VSTestHost.Вместо этого, он выполняется в процессе IIS или в процессе ASP.NET Development Server, если веб-узел основан на файлах.Поскольку проверка выполняется в отличных от процесса обычной проверки, выбрав Отладка модульных тестов вариант из меню теста без отладки во время выполнения теста.

Подобным образом, пошаговое выполнение продуктивного кода ASP.NET невозможно при отключенной отладке и если отладчик не прикреплен к процессу ASP.NET Development Server или IIS.

В следующих процедурах будет создан проект веб-узла ASP.NET при помощи диалогового окна Новый веб-узел.В этом диалоговом окне в поле со списком Расположение следует выбрать местоположение веб-узла.Сделанный выбор определяет процесс, к которому в дальнейшем будет присоединен отладчик, а также шаги, по которым будет выполнена отладка во время выполнения теста в решении ASP.NET.Можно выбрать IIS или ASP.NET Development Server.

  • Отладка при выполнении с IIS

  • Отладка при выполнении с ASP.NET Development Server

Отладка при выполнении с IIS

В следующей процедуре к процессу будет присоединен отладчик.Имя процесса зависит от используемой операционной системы, поскольку версия IIS определяется установленной операционной системой.

Отладка кода во время выполнения теста ASP.NET с IIS

  1. Создайте проект веб-узла ASP.NET, который требуется протестировать, а также модульный тест ASP.NET для тестирования.

    При создании этого проекта веб-узла в диалоговом окне Новый веб-узел из списка Расположение выберите HTTP или FTP.Это гарантирует, что ведущим процессом будет IIS.

  2. Включите отладку в веб-проекте ASP.NET.Для этого измените файл веб-конфигурации проекта.Если проект уже содержит файл Web.config, переходите к шагу 4.Если нет, добавьте один теперь: Открытие контекстного меню для веб-узла проекта в решении, а затем выберите Добавить новый элемент.

    Откроется диалоговое окно Добавление нового элемента.

  3. В Добавить новый элемент диалогового окна выберите Файл веб-конфигурации , а затем выберите Добавить.

    Файл с именем Web.config будет добавлен в проект веб-узла.Дополнительные сведения об использовании файлов Web.config см. в разделе Практическое руководство. Включение отладки для приложений ASP.NET.

  4. В файле Web.config измените строку <compilation debug="false"/> на <compilation debug="true"/>.

  5. (Необязательно) Задайте точки останова в модульном тесте ASP.NET в продуктивном коде для веб-узла.

  6. Присоедините отладчик к процессу IIS.Чтобы сделать это, выберите отладки , а затем выберите Присоединение к процессу.

    Откроется диалоговое окно Присоединение к процессу.

  7. В области Доступные процессы найдите имя процесса, к которому необходимо присоединить отладчик.

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

  8. В разделе Доступные процессы, выберите имя процесса, а затем — Присоединение.

    Если процесс, к которому необходимо присоединить не запущена, выберите Отменить и запустите процесс.Для этого в обозревателе решений откройте контекстное меню для проекта веб-узла, а затем выберите Просмотр в обозревателе.Далее выберите отладки , а затем выберите Присоединение к процессу еще раз; процесс будет запущен и отображается в разделе Доступные процессы.Выберите имя процесса, а затем Присоединение.

  9. Запустите тест.

    Для этого выберите тест, необходимо выполнить отладку в обозревателе тестирования модулей, а затем от проверки меню, выберите Отладка модульных тестов и Выбранные тесты.

    ПримечаниеПримечание

    При выполнении тестов вместо команды Выбор для отладки можно выбрать Выполнить выбранное.Разница заключается в том, что при выборе команды Выбор для отладки, отладчик автоматически отсоединяется по окончании теста, а если выбрать команду Выполнить выбранное, присоединение отладчика сохраняется.Команда Выполнить выбранное может оказаться более полезной, особенно если планируется запускать тесты несколько раз во время отладки и при этом сохранять присоединение к процессу.Если была выбрана команда Выполнить выбранное и необходимо по окончании отладки отсоединить процесс, в меню Отладка выберите команду Остановить отладку или нажмите сочетание Shift+F5.

Отладка при выполнении с ASP.NET Development Server

Отладка во время выполнения теста с ASP.NET Development Server

  1. Создайте проект веб-узла ASP.NET, который требуется протестировать, а также модульный тест ASP.NET для тестирования.

    При создании этого проекта веб-узла в диалоговом окне Новый веб-узел из списка Расположение выберите "Файловая система".Это гарантирует, что ведущим процессом будет ASP.NET Development Server.

  2. Включите отладку в веб-проекте ASP.NET.Для этого измените файл веб-конфигурации проекта.Если проект уже содержит файл Web.config, переходите к шагу 4.Если нет, добавьте один теперь: Открытие контекстного меню для веб-узла проекта в решении, а затем выберите Добавить новый элемент.

    Откроется диалоговое окно Добавление нового элемента.

  3. В Добавить новый элемент диалогового окна выберите Файл веб-конфигурации , а затем выберите Добавить.

    Файл с именем Web.config будет добавлен в проект веб-узла.Дополнительные сведения об использовании файлов Web.config см. в разделе Практическое руководство. Включение отладки для приложений ASP.NET.

  4. В файле Web.config измените строку <compilation debug="false"/> на <compilation debug="true"/>.

  5. Добавьте оператор System.Diagnostics.Debugger.Break() в начало модульного теста ASP.NET.

    ПримечаниеПримечание

    Точки останова в коде будут использованы, только если они следуют за этим оператором System.Diagnostics.Debugger.Break().

    ПримечаниеПримечание

    В C++ это оператор System::Diagnostics::Debugger::Break().Сведения об использовании модульных тестов в Visual C++ см. в разделе Unit Tests and C++.

  6. Задайте точки останова в модульном тесте ASP.NET в продуктивном коде для веб-узла.

  7. Запустите тест.

    Для этого выберите тест, необходимо выполнить отладку в обозревателе тестирования модулей, а затем от проверки меню, выберите Отладка модульных тестов и Выбранные тесты.

  8. По мере того, как начнется выполнение теста, откроется диалоговое окно.В этом диалоговом окне указано, что программа столкнулась с точкой останова.

  9. Выберите отладки, выберите экземпляр из Visual Studio , загруженным решением, а затем выберите Да.

    Visual Studio присоединит процесс и выполнение будет приостановлено на операторе System.Diagnostics.Debugger.Break().В меню "Отладка" можно выбрать команду Продолжить или можно нажать F5, чтобы продолжить выполнение до следующей точки останова.

    ПримечаниеПримечание

    Удалите оператор System.Diagnostics.Debugger.Break() по окончании отладки.В противном случае при каждом запуске теста будет появляться диалоговое окно точки останова.

См. также

Задачи

Практическое руководство. Отладка при выполнении теста

Другие ресурсы

Как: включить отладку ASP.NET приложения