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