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


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

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

В зависимости от установок конфигурации тестового запуска Visual Studio Team System Test Edition выполняет тесты либо в папке, в которой они были созданы или сгенерированы, либо в отдельной папке развертывания. Разрешение на выполнение развертывания теста устанавливается в параметрах конфигурации тестового запуска. Дополнительные сведения см. в разделе Практическое руководство. Настройка развертывания тестов.

Разделение, осуществляемое в результате развертывания теста, обеспечивает более четкое выполнение теста и, следовательно, получение более точных результатов. На этапе развертывания, Test Edition копирует элементы развертывания, такие как файлы и папки, в папку развертывания перед выполнением тестов. Test Edition копирует файлы следующих типов.

  • Двоичный файл теста, например, сборка, построенная из тестового проекта, или двоичный файл обычного теста.

  • Все зависимые сборки. Дополнительные сведения см. в разделе Устранение неполадок в Test Edition.

  • Указанные файлы, такие как XML-файлы и файлы конфигурации, от которых зависит тест. Для настройки развертывания следует указать дополнительные элементы развертывания для копирования и изменить папку развертывания. Дополнительные сведения см. в разделе Практическое руководство. Настройка развертывания тестов.

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

    Выбор между разрешением или запрещением развертывания тестов управляет развертыванием всех элементов списка: файлов теста, зависимых сборок и файлов, указанных явно. Дополнительные сведения о разрешении и запрещении развертывания тестов см. в разделе Практическое руководство. Настройка развертывания тестов.

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

Два варианта развертывания

Существует два варианта развертывания: локальный и удаленный.

  • Локальный тестовый запуск. По умолчанию тесты выполняются локально на компьютере, на котором установлен пакет Visual Studio. В этом случае элементы развертывания и двоичные файлы теста копируются и выполняются в локальной папке развертывания. Дополнительные сведения см. в разделе Локальные папки развертывания.

  • Удаленный тестовый запуск. Удаленное выполнение осуществляется с помощью агентов и контроллеров. Сначала элементы развертывания копируются в локальную папку развертывания, указанную как папку [Out] для текущего тестового запуска; см. раздел Локальные папки развертывания. Затем они копируются на компьютере контроллера в папку развертывания, из которой они копируются в папку развертывания на одном или нескольких компьютерах агентов. После этого тесты выполняются на компьютерах агентов и происходит возврат результатов. Дополнительные сведения об агентах и контроллерах см. в разделе Контроллеры, агенты и платформы.

Локальные папки развертывания

При выполнении тестов Visual Studio создает файлы развертывания в папке с именем "TestResults" с иерархической структурой решения. Если папка "TestResults" отсутствует, Visual Studio создаст ее.

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

При применении интерфейса IDE Visual Studio эта папка создается непосредственно в папке решения, если интерфейс IDE Visual Studio не используется, она появится в текущей папке.

При каждом запуске теста Test Edition создает в папке "TestResults" набор папок, используемых исключительно для тестового запуска. Папка верхнего уровня получает имя после тестового запуска. В примере, показанном на следующей картинке, первая папка в папке "TestResults" получила название "<имя_пользователя>@<имя_ компьютера><дата> <время>" в соответствии с одноименным тестовым запуском.

Локальная папка развертывания для тестов

Папки развертывания для локального тестового запуска

Как показано на предыдущем рисунке, решение "ClassLibrary1" содержит два проекта — "ClassLibary1" и "TestProject1". Поскольку тесты были выполнены, решение также содержит папку с именем "TestResults". Папка "TestResults" содержит файлы результатов для каждого тестового запуска. Файл результатов теста получает название в соответствии с именем тестового запуска и имеет расширение TRX.

Ниже описаны другие папки, созданные в папке "TestResults".

  • Папка тестового запуска Папки для каждого тестового запуска находятся непосредственно в папке "TestResults". Имя папки совпадает с именем тестового запуска, как отображается в окне результатов теста и окне тестовых запусков. Форматом по умолчанию для тестового запуска является <имя_пользователя>@<имя_компьютера> <дата> <время>. В папке тестового запуска находятся сценарии очистки, которые выполняются до и после выполнения тестов, как описано в разделе Шаги тестового запуска.

  • Папка "Out" и вложенные папки. Каждая папка тестового запуска содержит папку с именем "Out". Папка "Out" является фактической папкой развертывания, как описано в разделе Шаги тестового запуска. Соответственно, при каждом запуске теста в папку <решение>\TestResults\<тестовый_запуск>\Out копируются сборки и другие файлы или папки, которые требуются для запуска.

  • Папка "In" и вложенные папки. Каждая папка тестового запуска содержит папку с именем "In". При получении результатов теста, они сохраняются в папке "In" или вложенной папке, как описано в разделе Шаги тестового запуска. Например, результаты покрытия кода хранятся в файле с именем "data.coverage" во вложенной папке с именем, совпадающим с именем компьютера, на котором выполнялись тесты.

    ms182474.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

    При выполнении теста на узле интеллектуального устройства, файлы из папки устройства "In" копируются обратно на рабочий стол. Для предотвращения выполнения ненадежных файлов Visual Studio добавляет ко всем файла, которые не имеют расширений TXT или LOG, расширение TXT.

Выбор узла теста

После копирования элементов развертывания тест выполняется на узле, выбранном в конфигурации тестового запуска. Большинство тестов выполняется на узле Visual Studio по умолчанию в папке развертывания. Однако определенные типы тестов должны выполняться на других узлах, как описано ниже.

  • Узел ASP.NET Этот узел выбирается при запуске тестов, например модульных тестов ASP.NET, которые должны выполняться на сервере IIS или сервере разработки ASP.NET. Дополнительные сведения см. в разделе Общие сведения о модульных тестах ASP.NET.

  • Узел интеллектуального устройства. Этот узел выбирается при запуске тестов, например модульных тестов интеллектуального устройства, которые должны выполняться на этом устройства или его эмуляторе. Дополнительные сведения см. в разделе Общие сведения о модульных тестах смарт-устройств.

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

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

При возникновении следующих проблем развертывание файлов будет невозможным.

  • Файл не найден. При указании файла с помощью абсолютного пути следует убедиться, что путь существует. Также необходимо убедиться, что для проверки файла в системе управления версиями использовался абсолютный путь.

    При использовании относительного пути корень должен находиться там, где он ожидается. Если путь содержит переменную среды, следует убедиться, что она установлена правильно. Если в относительном пути используется каталог, зависящий от определенной конфигурации, например "Debug\bin\program.xls", нужно проверить правильность используемой конфигурации.

  • Доступ запрещен. Необходимо иметь доступ к файлу, который копируется в папку развертывания.

  • Файл находится в сетевой папке. Если файл нельзя скопировать, поскольку он находится в сетевой папке, следует скопировать его на локальный компьютер и указать новое расположение для развертывания. Затем следует повторить выполнение теста.

См. также

Задачи

Практическое руководство. Настройка развертывания тестов

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

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

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

Инструментирование и повторная подпись сборок

Шаги тестового запуска

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

Тестирование веб-служб