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


Общие сведения о модульных тестах ASP.NET

Обновлен: Ноябрь 2007

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

ms182520.alert_note(ru-ru,VS.90).gifПримечание.

При выполнении Windows Vista для работы с модульными тестами ASP.NET необходимо запустить Visual Studio от имени администратора. При запуске Visual Studio от имени обычного пользователя можно создавать веб-узлы, создавать и выполнять тесты, однако они завершатся ошибкой. Для запуска Visual Studio от имени администратора щелкните правой кнопкой мыши Microsoft Visual Studio 2005 и выберите Запуск от имени администратора. При выводе запроса на продолжение или разрешение выполнения процесса следует выбрать Продолжить или Разрешить соответственно. При получении запроса на ввод учетных данных для входа с разрешениями администратора их необходимо предоставить для успешного выполнения модульных тестов ASP.NET. Дополнительные сведения о безопасности в Windows Vista см. в разделе Общие сведения о контроле учетных записей

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

Создать тест модуля ASP.NET можно двумя способами: автоматически создать новый тест или настроить существующий модульный тест для выполнения в качестве модульного теста ASP.NET. Оба метода описаны в разделе Практическое руководство. Создание модульного теста ASP.NET.

Также можно задать параметры в конфигурации запуска, которые будут использованы в запускаемых модульных тестах. Параметры будут использоваться только если эта конфигурация запуска будет активной. Дополнительные сведения см. в разделе Практическое руководство. Создание модульного теста ASP.NET.

Использование другого удостоверения процесса при выполнении модульного теста ASP.NET

Во время тестирования кода ASP.NET, код теста выполняется либо в процессе IIS, либо в процессе ASP.NET Development Server. Если модульный тест ASP.NET выполняется в процессе служб IIS, то в целях обеспечения безопасности можно запустить процесс ASP.NET от имени нестандартного пользователя, то есть с другим удостоверением процесса.

Например, если веб-узлу ASP.NET требуется доступ к ресурсам на компьютере, таким как папки, файлы и базы данных, можно запустить его таким образом, чтобы обеспечить только необходимый уровень прав доступа к этим ресурсам.

ms182520.alert_note(ru-ru,VS.90).gifПримечание.

Удостоверение по умолчанию зависит от версии IIS. Например, в Windows Server 2003 удостоверением для процесса ASP.NET (w3wp.exe) является "NETWORK SERVICE".

В этом случае возможен сбой модульных тестов. Например, процесс ASP.NET, работающий от имени нестандартного пользователя, может иметь ограниченный набор прав доступа, но все равно будет пытаться создавать временные файлы в папке %WINDIR%\Temp. Это приведет к сбою, если разрешения, установленные для папки %WINDIR%\Temp, не обеспечивают процессу достаточный уровень доступа для создания этих файлов. Для успешного модульного тестирования нужно будет предоставить процессу более высокий уровень доступа к папке %WINDIR%\Temp.

Сбой модульного теста может возникнуть и в том случае, если учетная запись службы не имеет доступа к корневой папке развертывания. В этом случае в Visual Studio будет показано диалоговое окно с пояснением ошибки; чтобы закрыть его, нажмите кнопку ОК.

См. также

Задачи

Практическое руководство. Создание модульного теста ASP.NET

Практическое руководство. Задание конфигурации тестового запуска

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

Основные понятия

Общие сведения о развертывании тестов

Модульные тесты ASP.NET и закрытые методы доступа

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

Создание модульных тестов