Справочник по параметрам командной строки Microsoft.Testing.Platform (MTP)

В этой статье приведена центральная точка входа для параметров командной строки MTP.

Important

Параметры платформы доступны в самом MTP. Параметры расширения доступны только в том случае, если каждое целевое тестовое приложение регистрирует пакет расширения, предоставляющий их. Добавьте пакет напрямую или используйте конфигурацию или профиль тестового пакета SDK, включающую его. Если тестовое приложение не регистрирует расширение, выполнение завершается с кодом выхода 5, так как параметр не распознается.

Параметры платформы

  • @

    Указывает имя файла ответа. Имя файла ответа должно немедленно следовать символу @ без пробела между символом @ и именем файла ответа.

    Параметры в файле ответа интерпретируются так, как если бы они присутствовали в этом месте в командной строке. Символ обратной косой черты \ нельзя использовать для объединения строк. Использование файла ответа помогает выполнять очень длинные команды, которые могут превышать ограничения терминала. Файл ответа можно объединить с встроенными аргументами командной строки. Рассмотрим пример.

    ./TestExecutable.exe @"filter.rsp" --timeout 10s
    

    где filter.rsp может содержать следующее содержимое:

    --filter "A very long filter"
    

    Или один файл rsp можно использовать для указания времени ожидания и фильтрации следующим образом:

    ./TestExecutable.exe @"arguments.rsp"
    
    --filter "A very long filter" --timeout 10s
    

    Замечание

    При использовании dotnet test средство синтаксического анализа командной строки SDK использует подход, при котором каждой строке соответствует один маркер, где каждая строка в файле ответа рассматривается как один маркер. В этом случае каждый аргумент должен находиться в отдельной строке:

    --filter
    A very long filter
    --timeout
    10s
    
  • --config-file

    Указывает файл testconfig.json.

  • --debug

    Приостанавливает выполнение теста при запуске, чтобы можно было подключить отладчик к тестовой процедуре. Эквивалентно установке TESTINGPLATFORM_WAIT_ATTACH_DEBUGGERпеременной среды в значение 1. Не поддерживается на платформах браузера.

    Замечание

    Этот параметр доступен в MTP начиная с версии 1.9.0. Он заменяет предыдущий --debug-wait-attach параметр (представленный в MTP 1.6.0); старое имя было удалено и больше не должно использоваться.

  • --diagnostic

    Включает ведение журнала диагностики. Уровень журнала по умолчанию — Trace. Для каждого тестового источника MTP записывает <asm>_<tfm>_<arch>_<timestamp>.diag. Если метки времени совпадают, MTP добавляет суффикс с идентификатором процесса и счётчиком вместо того, чтобы перезаписывать существующий файл.

  • --diagnostic-synchronous-write

    Позволяет встроенному средству ведения журнала файлов синхронно записывать журналы. Полезно для сценариев, когда вы не хотите терять записи журнала (если процесс завершается сбоем). Это замедляет выполнение теста.

    Замечание

    Доступно в MTP начиная с версии 2.0.0. Он заменяет предыдущий --diagnostic-filelogger-synchronouswrite параметр, который был удален в MTP 2.0.0.

  • --diagnostic-output-directory

    Каталог вывода журнала диагностики: если не указан, файл создается в каталоге по умолчанию TestResults.

  • --diagnostic-file-prefix

    Префикс имени файла журнала. Значение по умолчанию — <asm>_<tfm>_<arch>.

    Замечание

    Доступно в MTP начиная с версии 2.0.0. Он заменяет предыдущий --diagnostic-output-fileprefix параметр, который был удален в MTP 2.0.0.

  • --diagnostic-verbosity

    Определяет уровень детализации при использовании переключателя --diagnostic. Доступные значения: Trace, Debug, Information, Warning, Errorили Critical.

  • --enable-dynamic-extensions

    Включает загрузку расширений, объявленных файлами манифеста *.testingplatformextensions.json, расположенными рядом с тестовым приложением. Динамические расширения отключены по умолчанию. Сведения о требованиях к безопасности и схеме манифеста см. в разделе "Динамические расширения загрузки".

    Замечание

    Этот параметр доступен в MTP начиная с версии 2.4.0.

  • --exit-on-process-exit

    Завершите тестовый процесс, если зависимый процесс завершится. Необходимо указать PID.

  • --filter-uid

    Фильтрует запускаемые тесты по уникальным идентификаторам узлов тестов. Принимает один или несколько уникальных идентификаторов.

    Замечание

    Этот параметр доступен в MTP начиная с версии 1.8.0. Начиная с MTP 2.3.0, нельзя использовать --filter-uid вместе с --treenode-filter; при указании обоих параметров проверка командной строки завершится ошибкой с кодом выхода InvalidCommandLine.

  • --help

    Выводит описание использования команды.

  • --ignore-exit-code

    Позволяет игнорировать некоторые коды выхода, отличные от нуля, и вместо этого возвращается как 0. Дополнительные сведения см. в разделе Игнорировать определенные коды выхода.

  • --info

    Отображает дополнительные сведения о тестовом приложении .NET, например:

    • Платформа.
    • Среда.
    • Каждый зарегистрированный поставщик командной строки, например name, version, description и options.
    • Каждое зарегистрированное средство, например command, name, version, description, и все поставщики командной строки.

    Эта функция используется для понимания расширений, которые регистрируют один и тот же параметр командной строки или изменения доступных параметров между несколькими версиями расширения (или платформой).

  • --list-tests

    Выводит список доступных тестов без их выполнения. При необходимости принимает аргумент, который управляет форматом выходных данных: text (по умолчанию, удобочитаемым человеком) или json.

    Замечание

    Формат json выходных данных доступен в MTP начиная с версии 2.3.0.

  • --maximum-failed-tests

    Указывает максимальное количество сбоев тестов, которые при достижении прекратят выполнение теста. Поддержка этого коммутатора требует от авторов фреймворка реализовать возможность IGracefulStopTestExecutionCapability. Код выхода при достижении этого количества сбоев теста равен 13. Дополнительные сведения см. в разделе "Коды выхода MTP".

    Замечание

    Эта функция доступна в MTP начиная с версии 1.5.

  • --minimum-expected-tests

    Указывает положительное минимальное количество тестов, которые должны выполняться. Если при запуске выполняется меньше тестов, в том числе ни одного, запуск завершается с кодом 9. Явно заданный минимум имеет приоритет над --zero-tests-policy.

    С dotnet test этот параметр применяется ко всему запуску, если параметр указан до --, и к каждому тестовому модулю, если параметр указан после --. Дополнительные сведения см. в разделе "Минимальные значения для всего выполнения и каждого модуля".

    Замечание

    --minimum-expected-tests 0 недопустим. Чтобы подавить код выхода при отсутствии тестов, используйте --ignore-exit-code 8.

  • --no-banner

    Отключает баннер запуска, сообщение об авторских правах и баннер телеметрии. Тот же эффект можно получить с помощью TESTINGPLATFORM_NOBANNER или DOTNET_NOLOGOпеременных среды.

  • --results-directory

    Каталог, в котором будут помещены результаты теста. Если указанный каталог не существует, он создается. Значение по умолчанию TestResults в каталоге, который содержит тестовое приложение.

  • --server

    Запускает тестовое приложение в JSON-RPC режиме сервера для интеграции редактора, интегрированной среды разработки или средства. Опустить значение или использовать jsonrpc. Сведения о поддерживаемом клиенте, работающем только как источник, см. в режиме сервера MTP.

    Important

    Значение dotnettestcli и его аргументы транспорта являются внутренними для интеграции пакета SDK .NET. Не передайте их вручную.

  • --show-slowest-tests

    Отображает запрошенное количество самых медленных тестов в сводке терминала. Если запуск содержит несколько тестовых модулей, MTP показывает самые медленные тесты для каждого модуля.

    Замечание

    Этот параметр доступен в MTP начиная с версии 2.4.0.

  • --timeout

    Тайм-аут выполнения глобального теста. Принимает один аргумент в виде строки в формате <value>[h|m|s], где <value> плавает.

  • --treenode-filter

    Фильтрует выполняемые тесты с помощью выражения древовидного фильтра. Древовидные фильтры предоставляют более гибкие возможности сопоставления, чем --filter, в сложных сценариях.

    Замечание

    Начиная с MTP 2.3.0, нельзя использовать --treenode-filter вместе с --filter-uid; при указании обоих параметров проверка командной строки завершится ошибкой с кодом выхода InvalidCommandLine.

  • --zero-tests-policy

    Определяет, считается ли ошибкой запуск, в котором не был выполнен ни один тест, поскольку все тесты были пропущены. Допустимые значения: allow-skipped (по умолчанию) и strict. При allow-skipped выполнение запуска, в котором все этапы пропущены, завершается успешно. В случае strictсбоя код выхода завершается ошибкой 8. Явно заданное значение --minimum-expected-tests имеет приоритет над этой политикой и использует код выхода 9, если минимальное требование не соблюдено.

    Замечание

    Этот параметр доступен в MTP начиная с версии 4.3.0. При использовании dotnet test передайте параметр после --, чтобы передать его в каждый тестовый модуль. Если вы не задаёте глобальный минимум, SDK .NET 11 отдельно определяет результат для всего запуска при отсутствии выполненных тестов. Дополнительные сведения см. в разделе "Минимальные значения для всего выполнения и каждого модуля".

Опции расширения в зависимости от сценария

Используйте следующую таблицу, чтобы найти пакет и параметры каждого расширения. Тестовый профиль SDK может содержать пакет вместо непосредственной ссылки на пакет.

Сценарий Обязательный компонент Документация по функциям
Сбор данных о покрытии кода Microsoft.Testing.Extensions.CodeCoverage или coverlet.MTP Покрытие кода
Сбор дампов сбоев или зависаний Microsoft.Testing.Extensions.CrashDump или Microsoft.Testing.Extensions.HangDump Аварийное завершение и зависание дампов
Создание тестовых отчетов Пакет расширения для выбранного формата, например Microsoft.Testing.Extensions.TrxReport Тестовые отчеты
Настройка выходных данных терминала Ядро MTP (без дополнительного пакета) Выходные данные терминала
Повторная проверка неудачных тестов Microsoft.Testing.Extensions.Retry повторная попытка

Поиск параметров в тестовом приложении

Запустите тестовый исполняемый файл с --help или запустите dotnet test --help в режиме MTP, чтобы вывести список параметров, доступных для текущего набора расширений.

Для расширенной диагностики зарегистрированных поставщиков и параметров выполните --info.

См. также