Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведена центральная точка входа для параметров командной строки 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.