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


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

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

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

  • Путем создания модульного теста ASP.NET на основе проекта ASP.NET. Это наиболее распространенный сценарий.

  • Путем настройки имеющегося модульного теста как модульного теста ASP.NET.

Также можно задать параметры в конфигурации запуска. Эти параметры соответствуют атрибутам, используемым в модульных тестах ASP.NET. Эти процедуры описаны в следующих разделах.

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

При выполнении модульных тестов ASP.NET не следует применять атрибуты ClassCleanupAttribute или ClassInitializeAttribute к любым методам класса, содержащего модульный тест ASP.NET. Аналогичным образом не следует использовать атрибуты AssemblyCleanupAttribute или AssemblyInitializeAttribute в одной сборке с модульным тестом ASP.NET. Результат использования этих атрибутов в таких ситуациях будет непредсказуемым. Однако атрибуты TestInitializeAttribute и TestCleanupAttribute могут применяться к любым модульным тестам.

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

Создание модульного теста ASP.NET

Для создания модульного теста ASP.NET необходимо сперва создать веб-узел ASP.NET в рамках решения Visual Studio. После этого в проект веб-узла добавляется класс, на основе которого создается модульный тест.

Создание модульного теста ASP.NET

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

  2. В диалоговом окне Добавить новый веб-узел щелкните Веб-узел ASP.NET.

  3. В поле Размещение щелкните "Файловая система", чтобы указать "ASP.NET Development Server".

  4. Нажмите кнопку ОК.

    Создан новый веб-узел.

  5. Добавьте в данный проект класс. Для этого в обозревателе решений щелкните правой кнопкой мыши имя веб-узла и выберите команду Добавить новый элемент.

  6. В диалоговом окне Добавление нового элемента щелкните Класс и нажмите кнопку Добавить.

  7. Откроется диалоговое окно Microsoft Visual Studio с предложением разместить новый класс в папке App_Code. Нажмите кнопку Да.

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

    Невозможно создать тесты на основе кода, содержащегося в файл ASPX или папке, отличной от App_Code.

  8. Создайте модульный тест ASP.NET. Если файл нового класса еще не открыт, откройте его, дважды щелкнув файл в обозревателе решений.

  9. Щелкните правой кнопкой мыши класс в файле класса и выберите команду Создать модульные тесты.

  10. Появится диалоговое окно Создать модульные тесты. Сведения об использовании этого диалогового окна для создания модульных тестов см. в разделе Практическое руководство. Создание модульного теста.

  11. Убедитесь, что классы, методы и пространства имен, для которых необходимо создать тесты, выделены.

  12. (Необязательно.) Примите значение параметра Выходной проект по умолчанию или выберите новый проект.

  13. По завершении нажмите кнопку ОК.

    В файл тестового проекта добавлен новый модульный тест ASP.NET.

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

Настройка модульного теста ASP.NET

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

Перед заданием настраиваемых атрибутов следует сперва добавить ссылку на пространство имен, поддерживающее настраиваемые атрибуты — пространство имен Microsoft.VisualStudio.TestTools.UnitTesting.Web. Когда эта ссылка будет добавлена, функция IntelliSense поможет установить значения атрибутов.

Примечание.   При создании модульного теста ASP.NET эти атрибуты устанавливаются автоматически.

Настройка модульного теста ASP.NET

  1. Откройте файл кода, содержащий модульный тест.

  2. Для модульного теста установите следующие атрибуты:

[TestMethod]

Поскольку атрибут [TestMethod] необходим для любых модульных тестов, этот атрибут уже будет установлен.

[UrlToTest()]

URL-адрес, проверяемый при выполнении данного модульного теста, например [UrlToTest("https://localhost/WebSites/Default.aspx")]

[HostType()]

Используйте [HostType(“ASP.NET”)]. Тесты обычно выполняются в рамках процесса узла VSTest, но модульные тесты ASP.NET должны выполняться в рамках процесса узла ASP.NET.

Примеры

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

[TestMethod()]

[HostType("ASP.NET")]

[UrlToTest("https://localhost:25153/WebSite1")]

[AspNetDevelopmentServerHost("D:\\Documents and Settings\\user name\\My Documents\\Visual Studio 2005\\WebSites\\WebSite1", "/WebSite1")]

Пример 2. Для проверки веб-узла, работающего со службами IIS, используются только атрибуты TestMethod, HostType и UrlToTest:

[TestMethod()]

[HostType("ASP.NET")]

[UrlToTest("https://localhost:25153/WebSite1")]

Настройка модульных тестов ASP.NET с помощью конфигурации запуска

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

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

Применяться может только один набор параметров модульных тестов ASP.NET: параметры конфигурации запуска или параметры атрибутов. Они не могут применяться совместно. При наличии параметров конфигурации запуска они имеют приоритет перед атрибутами. Это означает, что при задании хотя бы одного параметра ASP.NET в конфигурации запуска параметры ASP.NET, заданные в виде атрибутов, будут игнорироваться.

Настройка модульных тестов ASP.NET с помощью конфигурации запуска

  1. Откройте файл конфигурации запуска. Дополнительные сведения см. в разделе Практическое руководство. Задание конфигурации тестового запуска.

  2. На странице "Узлы" установите параметр Тип узла в значение "ASP.NET".

    При этом отобразятся дополнительные параметры, некоторые из которых соответствуют атрибутам, которые могут быть заданы в коде, например Тестируемый URL-адрес. Описание этих атрибутов см. в предыдущей процедуре: "Настройка модульного теста ASP.NET".

    По завершении установки значений на странице "Узлы" нажмите кнопки Сохранить и затем ОК.

См. также

Задачи

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

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

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

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

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

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