Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье содержатся сведения об архитектуре процесса, используемой для выполнения модульных тестов, настройке архитектуры процесса и выполнении модульных тестов в виде 64-разрядного процесса.
В этой статье содержатся сведения о настройке архитектуры процесса для модульных тестов и выполнении модульных тестов в качестве 64-разрядного процесса.
Настройка архитектуры процессов для проектов MSTest
Для проектов MSTest, использующих платформу тестирования Visual Studio (VSTest) в качестве средства выполнения теста, целевая платформа по умолчанию (архитектура процесса) соответствует архитектуре операционной системы. Это поведение можно переопределить для проектов, установленных на любой процессор в качестве целевой платформы, с помощью параметров Тестового обозревателя, как показано на следующем рисунке, или с помощью меню Тестирования.
В меню теста выберите Архитектура процессора для проектов AnyCPU.
Для проектов, использующих MSTest в качестве тестового runner вместо VSTest, архитектура определяется строго правилами MSBuild и среды выполнения. Исполняемые файлы создаются в соответствии с предпочтительной архитектурой, указанной в параметрах MSBuild и среды выполнения. Этот параметр можно настроить с помощью свойств MSBuild (например, PreferNativeArm64), но параметр Архитектура процессора для проектов AnyCPU нельзя использовать для изменения архитектуры этих проектов.
Заметка
Вы можете задать тестовый раннер при создании проекта модульного теста с использованием шаблона проекта MSTest или с помощью свойств MSBuild. Дополнительные сведения о различиях между тестировщиками MSTest и VSTest см. в сравнении Microsoft.Testing.Platform и VSTest .
PreferNativeArm64 (MSTest)
При использовании свойства MSBuild PreferNativeArm64
проект предпочитает работать изначально на архитектуре ARM64, если он доступен. Это свойство применимо к проектам, которые создают исполняемые файлы и следуют правилам среды выполнения MSBuild. Этот параметр игнорируется для платформы тестирования Visual Studio (VSTest) и применяется только к проектам MSTest, в которых в качестве средства выполнения тестов настроен MSTest.
Запуск модульного теста в виде 64-разрядного процесса
Если у вас есть 64-разрядный компьютер, вы можете выполнять модульные тесты и записывать сведения о охвате кода в виде 64-разрядного процесса.
Чтобы запустить модульный тест в виде 64-разрядного процесса, выполните следующую команду:
Если код или тесты были скомпилированы как 32-разрядные или x86, но теперь вы хотите запустить их как 64-разрядный процесс, перекомпилируйте их как Любой ЦП.
Совет
Для максимальной гибкости скомпилируйте тестовые проекты с конфигурацией «Любой процессор». Затем можно запускать как на 32-разрядных, так и на 64-разрядных агентах. Нет смысла в компиляции тестовых проектов с 64-разрядной конфигурацией, если вы не вызываете код, который поддерживается только на 64-разрядной системе.
Задайте модульные тесты для запуска в качестве 64-разрядного процесса.
В меню Visual Studio выберите Тест, а затем выберите Архитектура процессора для проектов AnyCPU. Выберите x64, чтобы запустить тесты в виде 64-разрядного процесса.
-или-
Укажите
<TargetPlatform>x64</TargetPlatform>
в файле .runsettings. Преимуществом этого метода является то, что можно указать группы параметров в разных файлах и быстро переключаться между разными параметрами. Можно также скопировать параметры между решениями. Дополнительные сведения см. в статье Настройка модульных тестов с помощью файла .runsettings.Заметка
Архитектура процессора для проектов AnyCPU,, не поддерживается в проекте MSTest, если вы задаете MSTest в качестве тестового средства выполнения вместо VSTest.
Связанное содержимое
- выполнение модульных тестов с помощью обозревателя тестов
- Модульное тестирование вашего кода