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


Расширение VSTest Bridge

Это расширение обеспечивает уровень совместимости с 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. Этот параметр можно указать несколько раз, по одному для каждого параметра, который нужно задать.

Затем эти параметры можно получить с помощью платформы тестирования в тестовом запуске: