Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья относится к: ✔️ пакета SDK для .NET 10 и более поздних версий
Имя
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>]
[-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. Аргументы, связанные с тестом, больше не исправлены, так как они привязаны к зарегистрированным расширениям в тестовых проектах. Кроме того, 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>Задает путь к запускаемому файлу проекта (имя папки или полный путь). Если значение не задано, по умолчанию используется текущий каталог.
--solution <SOLUTION_PATH>Указывает путь к файлу решения для запуска (имя папки или полный путь). Если значение не задано, по умолчанию используется текущий каталог.
--test-modules <EXPRESSION>Фильтрует тестовые модули с помощью глоббинга файлов в .NET. Будут выполняться только тесты, принадлежащие этим тестным модулям. Дополнительные сведения и примеры использования глоббинга файлов в .NET см. в файла.
--root-directory <ROOT_PATH>Указывает корневой каталог параметра
--test-modules. Его можно использовать только с параметром--test-modules.--max-parallel-test-modules <NUMBER>Указывает максимальное количество тестовых модулей, которые могут выполняться параллельно. Значение по умолчанию — Environment.ProcessorCount.
-
-a|--arch <ARCHITECTURE>Указывает целевую архитектуру. Это сокращенный синтаксис для настройки идентификатора среды выполнения (RID), где указанное значение объединяется с RID по умолчанию. Например, если на компьютере
win-x64указать--arch x86, идентификатору RID присваивается значениеwin-x86. При использовании этого параметра не используйте параметр-r|--runtime. Этот параметр доступен с выпуска .NET 6, предварительная версия 7. -
-c|--configuration <CONFIGURATION>Определяет конфигурацию сборки. По умолчанию для большинства проектов используется
Debug, но вы можете переопределить параметры конфигурации сборки в проекте. -f|--framework <FRAMEWORK>Моникер целевой платформы (TFM) целевой платформы для выполнения тестов. Целевая платформа также должна быть указана в файле проекта.
-
--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отдельный уровень проекта.-
-v|--verbosity <LEVEL>Задает уровень детализации команды. Допустимые значения:
q[uiet],m[inimal],n[ormal],d[etailed]иdiag[nostic]. Дополнительные сведения см. в разделе LoggerVerbosity. --no-buildУказывает, что тестовый проект не создается перед запуском. Он также неявно задает флаг
--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, чтобы предоставить путь к файлу трассировки.
Примеры
Запустите тесты в проекте или решении в текущем каталоге:
dotnet testВыполнение тестов в проекте
TestProject: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Запустите тесты в проекте, указав
TestProjectаргумент-bl(двоичныйmsbuildжурнал) для следующих значений:dotnet test --project ./TestProject/TestProject.csproj -blЗапустите тесты в
TestProjectпроекте, присвойв свойству MSBuildDefineConstantsзначениеDEV:dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"