Выбор папки для инструментирования
Если требуется собирать данные покрытия кода во время тестирования кода в сборке, среде Visual Studio сначала потребуется инструментировать эту сборку. В процессе инструментирования в сборку добавляется код, генерирующий данные покрытия кода.
Можно указать, в какой папке требуется инструментировать сборки. Среда Visual Studio позволяет инструментировать сборки в одном из следующих двух расположений:
По месту. Если выбрано инструментирование по месту, среда Visual Studio выполняет инструментирование сборки в папке, в которой она располагалась перед выполнением теста. Если сборка является частью создаваемого приложения, используется папка, где среда Visual Studio выполнила ее построение.
В папке развертывания. Если инструментирование по месту не выбрано, Visual Studio выполняет инструментирование сборки в папке развертывания. Папки развертывания создаются специально для выполнения тестов. Дополнительные сведения о настройке развертывания теста см. в разделе Практическое руководство. Настройка развертывания тестов.
Выбор папки для инструментирования
Выбор между папкой по месту и папкой развертывания зависит от имеющегося уровня доступа к сборке и от типа этой сборки.
Сборки с ограниченным доступом. Сборки, для которых выполняется хотя бы одно из следующих условий, указаны в приведенной ниже таблице как сборки с ограниченным доступом.
Сборка совместно используется несколькими пользователями. Проблема с общими сборками заключается в возможности конфликта между несколькими пользователями. Например, два пользователя могут одновременно запустить тесты и запросить данные покрытия кода из одной и той же сборки.
Сборка располагается в сетевой папке, а не на локальном диске.
К сборке имеется доступ только для чтения.
Сборки с постоянным расположением загрузки. Средство выполнения тестов может загружать определенные сборки только из конкретного расположения. Такие сборки указаны в приведенной ниже таблице как сборки с постоянным расположением загрузки. Возможны следующие типы файлов:
COM-компоненты
Страницы панели управления
В следующей таблице приведены указания по выбору подходящей папки для инструментирования. Если имеются особые требования, см. сведения в столбце Дополнительные примечания.
Расположение загрузки сборки |
Доступность сборки |
Папка для инструментирования |
Дополнительные примечания |
fixed |
без ограничений |
по месту |
(нет) |
не постоянное |
ограниченный |
в папке развертывания |
(нет) |
не постоянное |
без ограничений |
Подойдут обе папки, но рекомендуется выбрать папку развертывания. |
Если выбрано инструментирование по месту и в ходе теста выполняется повторное построение инструментированной сборки, обработчик тестов обнаруживает, что повторно построенная сборка является более новой. В результате старая (не инструментированная) версия не восстанавливается, и генерируется предупреждение уровня выполнения. |
fixed |
ограниченный |
по месту (см. дополнительные примечания) |
Если инструментирование по месту не выбрано, сборки в постоянном расположении не инструментируются. Это означает, что данные покрытия кода не собираются, хотя тест успешно выполняется и никаких предупреждений на уровне выполнения не создается. |
Указание папки для инструментирования
Выбор между инструментированием по месту и в папке развертывания можно сделать двумя способами.
Чтобы принять параметр по умолчанию, откройте диалоговое окно Параметры через меню Сервис Visual Studio. Этот параметр находится на странице Выполнение теста в узле Инструменты тестирования.
Также можно указать папку инструментирования для параметров тестирования при настройке адаптера диагностических данных для покрытия кода. Дополнительные сведения см. в разделе Практическое руководство. Настройка покрытия кода с помощью параметров тестирования для автоматических тестов.
Сборки с постоянным расположением и ограниченным доступом
Чтобы можно было изменить сборку, инструментируемую по месту, должны выполняться следующие условия.
Файл сборки не должен иметь атрибут "только чтение". Для этого необходимо иметь соответствующие разрешения для файла.
Пользователь, выполняющий тест, должен обладать необходимыми правами для изменения сборок. Поскольку инструментирование выполняется ведущим приложением, учетная запись, которой требуются эти права, представляет собой учетную запись, с которой выполняются средства devenv.exe или MSTest.exe, независимо от локального или удаленного выполнения. Эта учетная запись принадлежит пользователю, выполняющему Visual Studio, команду MSTest.exe или запустившему построение, которое, в свою очередь, выполняет тесты.
Файл сборки не должен кем-либо использоваться и не должен быть заблокирован другой программой. Чтобы исправить эту ситуацию, необходимо закрыть блокирующую программу или дождаться завершения ее выполнения.
Если обработчику тестов по-прежнему не удается инструментировать одну или несколько сборок, возникает предупреждение уровня выполнения.
См. также
Задачи
Создание параметров тестирования для запуска автоматических тестов из Visual Studio
Создание параметров тестирования для автоматических тестов в составе плана тестирования
Практическое руководство. Настройка развертывания тестов
Основные понятия
Инструментирование и повторная подпись сборок