Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
статья This применяется к: ✔️ .NET 10 sdk и более поздних версий
Имя
dotnet test — драйвер тестирования .NET, используемый для выполнения модульных тестов с помощью Microsoft.Testing.Platform.
Synopsis
dotnet test
[--project <PROJECT_PATH>]
[--solution <SOLUTION_PATH>]
[--test-modules <EXPRESSION>]
[--root-directory <ROOT_PATH>]
[--max-parallel-test-modules <NUMBER>]
[--config-file <CONFIG_FILE>]
[--results-directory <RESULTS_DIRECTORY>]
[--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>]
[--minimum-expected-tests <NUMBER>]
[-a|--arch <ARCHITECTURE>]
[-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>]
[--os <OS>]
[-r|--runtime <RUNTIME_IDENTIFIER>]
[-v|--verbosity <LEVEL>]
[--no-build]
[--no-restore]
[--no-ansi]
[--no-progress]
[--output <VERBOSITY_LEVEL>]
[--no-launch-profile]
[--no-launch-profile-arguments]
[<args>...]
dotnet test -h|--help
Description
С помощью платформы тестирования Майкрософт dotnet test работает быстрее, чем с помощью VSTest. Аргументы, связанные с тестом, больше не исправлены, так как они привязаны к зарегистрированным расширениям в тестовых project. Кроме того, MTP поддерживает фильтр глоббинга при выполнении тестов. Дополнительные сведения см. в разделе Microsoft.Testing.Platform.
Предупреждение
Если Microsoft.Testing.Platform включен через global.json, dotnet test ожидает, что все тестовые проекты будут использовать Microsoft.Testing.Platform. Это ошибка, если любой из тестовых проектов использует VSTest.
Неявное восстановление
Вам не нужно выполнять команду dotnet restore, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish и dotnet pack. Чтобы отключить неявное восстановление, используйте параметр --no-restore.
Команда dotnet restore по-прежнему полезна в некоторых сценариях, где явное восстановление имеет смысл, например неустанные сборки интеграции в Azure DevOps Services или в системах сборки, которые должны явно контролировать при возникновении восстановления.
В документации по dotnet restore приведены сведения об управлении каналами NuGet.
Options
Замечание
Вы можете использовать только один из следующих вариантов: --project, --solution или --test-modules. Эти параметры нельзя объединить.
Кроме того, при использовании --test-modulesнельзя указать --arch, --configuration, --framework, --osили --runtime. Эти параметры не относятся к уже созданному модулю.
--project <PROJECT_PATH>Указывает путь к файлу project для запуска (имя папки или полный путь). Если значение не задано, по умолчанию используется текущий каталог.
--solution <SOLUTION_PATH>Указывает путь к файлу решения для запуска (имя папки или полный путь). Если значение не задано, по умолчанию используется текущий каталог.
--test-modules <EXPRESSION>Фильтрует тестовые модули с помощью глоббинга файлов в .NET. Будут выполняться только тесты, принадлежащие этим тестным модулям. Дополнительные сведения и примеры использования глоббинга файлов в .NET см. в разделе File globbing.
--root-directory <ROOT_PATH>Указывает корневой каталог параметра
--test-modules. Его можно использовать только с параметром--test-modules.--max-parallel-test-modules <NUMBER>Указывает максимальное количество тестовых модулей, которые могут выполняться параллельно. Значение по умолчанию — Environment.ProcessorCount.
--config-file <CONFIG_FILE>Указывает файл конфигурации, используемый для тестового выполнения. Если указан относительный путь, он преобразуется в абсолютный путь на основе текущего каталога. Дополнительные сведения о параметрах файла конфигурации см. в testconfig.json.
--results-directory <RESULTS_DIRECTORY>Указывает каталог, в котором хранятся результаты теста. Если каталог не существует, он создается. Если указан относительный путь, он преобразуется в абсолютный путь на основе текущего каталога.
--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>Указывает каталог, в котором хранятся выходные данные диагностики. Если каталог не существует, он создается. Если указан относительный путь, он преобразуется в абсолютный путь на основе текущего каталога.
--minimum-expected-tests <NUMBER>Указывает минимальное количество тестов, которые необходимо выполнить. Если фактическое количество тестов меньше указанного минимума, выполнение теста завершается ошибкой с кодом выхода 9. Дополнительные сведения о кодах выхода см. в кодах выхода Microsoft.Testing.Platform.
-
-a|--arch <ARCHITECTURE>Указывает целевую архитектуру. Это сокращенный синтаксис для настройки идентификатора среды выполнения (RID), где указанное значение объединяется с RID по умолчанию. Например, если на компьютере
win-x64указать--arch x86, идентификатору RID присваивается значениеwin-x86. При использовании этого параметра не используйте параметр-r|--runtime. Доступно с .NET 6 предварительных версий 7. -
-c|--configuration <CONFIGURATION>Определяет конфигурацию сборки. По умолчанию для большинства проектов используется
Debug, но можно переопределить параметры конфигурации сборки в project. -f|--framework <FRAMEWORK>Моникер целевой платформы (TFM) целевой платформы для выполнения тестов. Целевая платформа также должна быть указана в файле project.
-
--os <OS>Позволяет указать целевую операционную систему. Это сокращенный синтаксис для настройки идентификатора среды выполнения (RID), где указанное значение объединяется с RID по умолчанию. Например, если на компьютере
win-x64указать--os linux, идентификатору RID присваивается значениеlinux-x64. При использовании этого параметра не используйте параметр-r|--runtime. Доступно с .NET 6. -r|--runtime <RUNTIME_IDENTIFIER>Целевая среда выполнения для тестирования.
Короткая форма
-rдоступна начиная с пакета SDK .NET 7.Замечание
Выполнение тестов для решения с глобальным
RuntimeIdentifierсвойством (явным образом или через--arch--runtimeили--os) не поддерживается. ЗадайтеRuntimeIdentifierна отдельном уровне project.-
-v|--verbosity <LEVEL>Задает уровень детализации команды. Допустимые значения:
q[uiet],m[inimal],n[ormal],d[etailed]иdiag[nostic]. Дополнительные сведения см. в разделе LoggerVerbosity. --no-buildУказывает, что тестовый project не создается перед выполнением. Он также неявно задает флаг
--no-restore.--no-restoreУказывает, что неявное восстановление не выполняется при выполнении команды.
--no-ansiОтключает вывод escape-символов ANSI на экран.
--no-progressОтключает ход выполнения отчетов на экран.
--output <VERBOSITY_LEVEL>Указывает детализацию выходных данных при составлении отчетов. Допустимые значения —
NormalиDetailed. Значение по умолчанию —Normal.--no-launch-profileНе пытайтесь использовать launchSettings.json для настройки приложения. По умолчанию используется,
launchSettings.jsonкоторый может применять переменные среды и аргументы командной строки к тестовому исполняемому файлу.--no-launch-profile-argumentsНе используйте аргументы,
commandLineArgsуказанные в профиле запуска для запуска приложения.--property:<NAME>=<VALUE>Задает одно свойство MSBuild или несколько. Укажите несколько свойств, повторив параметр:
--property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>Короткая форма
-pможет использоваться для--property. То же самое относится к/property:property=value, а его короткая форма —/p. Дополнительные сведения о доступных аргументах см. в документации dotnet msbuild.-
-?|-h|--helpВыводит описание использования команды.
argsУказывает дополнительные аргументы для передачи тестовых приложений. Для разделения аргументов используйте пробел. Дополнительные сведения и примеры передачи см. в обзоре Microsoft.Testing.Platform и функциях Microsoft.Testing.Platform.
Подсказка
Чтобы указать дополнительные аргументы для определенных проектов, используйте свойство MSBuild
TestingPlatformCommandLineArguments.
Замечание
Чтобы включить ведение журнала трассировки в файл, используйте переменную среды DOTNET_CLI_TEST_TRACEFILE, чтобы предоставить путь к файлу трассировки.
Примеры
Запустите тесты в project или решении в текущем каталоге:
dotnet testЗапустите тесты в
TestProjectproject:dotnet test --project ./TestProject/TestProject.csprojЗапустите тесты в решении
TestProjects:dotnet test --solution ./TestProjects/TestProjects.slnЗапустите тесты с помощью
TestProject.dllсборки:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"Запустите тесты с помощью сборки
TestProject.dllс корневым каталогом:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"Запустите тесты в текущем каталоге с покрытием кода:
dotnet test --coverageВыполните тесты и сохраните результаты в определенном каталоге:
dotnet test --results-directory ./TestResultsЗапустите тесты с выходными данными диагностики в определенном каталоге:
dotnet test --diagnostic-output-directory ./DiagnosticsВыполните тесты, гарантирующие выполнение не менее 10 тестов:
dotnet test --minimum-expected-tests 10Запустите тесты в
TestProjectproject, указав аргумент-bl(двоичный журнал) дляmsbuild:dotnet test --project ./TestProject/TestProject.csproj -blЗапустите тесты в
TestProjectproject, задав для свойства MSBuildDefineConstantsзначениеDEV:dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"