Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это расширение обеспечивает уровень совместимости с VSTest, позволяя тестовым фреймворкам, зависящим от него, продолжать поддерживать выполнение в режиме VSTest (vstest.console.exe
, обычно dotnet test
, VSTest task
на AzDo, Test Explorers Visual Studio и Visual Studio Code...). Это расширение входит в состав пакета Microsoft.Testing.Extensions.VSTestBridge.
Совместимость с VSTest
Основной целью этого расширения является предоставление простого и плавного обновления для пользователей VSTest, разрешая двойной режим, в котором новая платформа включена, и параллельно предлагается режим совместимости, чтобы разрешить обычным рабочим процессам продолжать работу.
Поддержка runsettings (настройки запуска)
Это расширение позволяет использовать файл VSTest .runsettings, но не все параметры в этом файле подхватываются платформой. Ниже описаны поддерживаемые и неподдерживаемые параметры, параметры конфигурации и альтернативные варианты для наиболее используемых параметров конфигурации VSTest.
При включении фреймворка тестирования можно использовать --settings <SETTINGS_FILE>
для предоставления файла .runsettings
.
Элемент RunConfiguration
Следующие элементы RunConfiguration не поддерживаются Microsoft.Testing.Platform
:
Узел | Описание | Причина / Решение |
---|---|---|
MaxCpuCount | Этот параметр определяет уровень параллелизма на уровне процесса. Используйте 0, чтобы включить максимальный параллелизм на уровне процесса. | При использовании Microsoft.Testing.Platform с MSBuild этот параметр выгружается в MSBuild. При запуске одного исполняемого файла этот параметр не имеет значения для Microsoft.Testing.Platform. |
КаталогРезультатов | Каталог, в котором помещаются результаты теста. Путь задаётся относительно каталога, в котором находится файл .runsettings. | Используйте параметр --results-directory командной строки, чтобы определить каталог, в котором будут размещаться результаты теста. Если указанный каталог не существует, он создается. Значение по умолчанию TestResults в каталоге, который содержит тестовое приложение. |
TargetFrameworkVersion | Этот параметр определяет версию платформы или семейство платформ для выполнения тестов. | Этот параметр игнорируется. Свойства <TargetFramework> или <TargetFrameworks> MSBuild определяют целевую платформу приложения. Тесты размещаются в последнем приложении. |
ТаргетПлатформ | Этот параметр определяет архитектуру, используемую для выполнения тестов. |
<RuntimeIdentifier> определяет архитектуру окончательного приложения, в котором размещаются тесты. |
ОбрабатыватьОшибыАдаптераТестовКакПредупреждения | Преобразует ошибки тестового адаптера в предупреждения. | Microsoft.Testing.Platform позволяет выполнять только один тип тестов из одной сборки, а сбой загрузки тестового фреймворка или других частей инфраструктуры станет невозможной для пропуска ошибкой, что указывает на то, что некоторые тесты не могут быть обнаружены или запущены. |
TestAdaptersPaths | Один или несколько путей к каталогу, в котором находятся TestAdapters | Microsoft.Testing.Platform не использует концепцию тестовых адаптеров и не разрешает динамическую загрузку расширений, если они не являются частью сборки, и регистрируются в Program.cs , автоматически с помощью целевых объектов сборки или вручную. |
TestCaseFilter | Фильтр, ограничивающий тесты, которые будут выполняться. | Начиная с версии 1.6, эта запись runsettings теперь поддерживается. Перед этой версией вместо этого следует использовать параметр командной строки --filter . |
TestSessionTimeout | Дает пользователям возможность завершить сеанс тестирования, если его длительность превышает заданный промежуток времени. | Альтернативный вариант отсутствует. |
DotnetHostPath | Укажите пользовательский путь к узлу dotnet, который используется для запуска тестового узла. | Microsoft.Testing.Platform не выполняет никакого дополнительного разрешения .NET. Он полностью зависит от того, как dotnet определяет свои параметры, что может быть управлено переменными среды, такими как DOTNET_HOST_PATH . |
Считать отсутствие тестов ошибкой | Выходите с ненулевым кодом выхода, если тесты не обнаружены. | Microsoft.Testing.Platform по умолчанию вернёт ошибку, если тесты не будут обнаружены или не выполнятся в тестовом приложении. Можно задать количество тестов, которые вы ожидаете найти в сборке, с помощью --minimum-expected-tests параметра командной строки, который по умолчанию соответствует 1. |
Элемент DataCollectors
Microsoft.Testing.Platform
не использует сборщики данных. Вместо этого он имеет концепцию внутрипроцессных и внепроцессных расширений. Каждое расширение настраивается соответствующим файлом конфигурации или с помощью командной строки.
Самое главное — расширение зависания и аварийного сбоя, а также расширение покрытия кода.
Элемент LoggerRunSettings
Логгеры в Microsoft.Testing.Platform
настраиваются с помощью параметров командной строки или параметров в самих программах.
Поддержка фильтра VSTest
Это расширение также предоставляет возможность использовать механизм фильтрации VSTest для обнаружения или запуска только тестов, соответствующих выражению фильтра. Дополнительные сведения см. в разделе сведений о параметре фильтра или сведения о конкретной платформе на странице "Выполнение выборочных модульных тестов".
При активированном тестовом фреймворке можно использовать --filter <FILTER_EXPRESSION>
.
Параметры TestRun
Параметры можно передать в тестовый запуск с помощью параметра командной строки --test-parameter
в формате key=value
. Этот параметр можно указать несколько раз, по одному для каждого параметра, который нужно задать.
Затем эти параметры можно получить с помощью платформы тестирования в тестовом запуске:
- для MSTest используйте Properties
- для NUnit используйте TestContext.TestParameters