dotnet vstestdotnet vstest
Эта статья относится к следующему. ✔️ SDK для .NET Core 2.1 и более поздних версийThis article applies to: ✔️ .NET Core 2.1 SDK and later versions
Важно!
Команда dotnet vstest
заменяется на dotnet test
, которую теперь можно использовать для запуска сборок.The dotnet vstest
command is superseded by dotnet test
, which can now be used to run assemblies. См. раздел dotnet test
.See dotnet test
.
nameName
dotnet-vstest
— запускает тесты из указанных сборок.dotnet-vstest
- Runs tests from the specified assemblies.
Краткий обзорSynopsis
dotnet vstest [<TEST_FILE_NAMES>] [--Blame] [--Diag <PATH_TO_LOG_FILE>]
[--Framework <FRAMEWORK>] [--InIsolation] [-lt|--ListTests <FILE_NAME>]
[--logger <LOGGER_URI/FRIENDLY_NAME>] [--Parallel]
[--ParentProcessId <PROCESS_ID>] [--Platform] <PLATFORM_TYPE>
[--Port <PORT>] [--ResultsDirectory<PATH>] [--Settings <SETTINGS_FILE>]
[--TestAdapterPath <PATH>] [--TestCaseFilter <EXPRESSION>]
[--Tests <TEST_NAMES>] [[--] <args>...]]
dotnet vstest -?|--Help
ОписаниеDescription
Команда dotnet-vstest
запускает приложение командной строки VSTest.Console
для выполнения автоматического модульного тестирования.The dotnet-vstest
command runs the VSTest.Console
command-line application to run automated unit tests.
АргументыArguments
TEST_FILE_NAMES
Запустите тесты из указанных сборок.Run tests from the specified assemblies. Для разделения имен тестовых сборок используйте пробелы.Separate multiple test assembly names with spaces. Поддерживаются подстановочные знаки.Wildcards are supported.
ПараметрыOptions
--Blame
Выполнение тестов в режиме обвинения.Runs the tests in blame mode. Этот параметр полезен при изоляции проблемных тестов, которые приводят к аварийному завершению хоста для тестов.This option is helpful in isolating the problematic tests causing test host to crash. Он создает в текущем каталоге выходной файл Sequence.xml, который записывает порядок выполнения тестов перед сбоем.It creates an output file in the current directory as Sequence.xml that captures the order of tests execution before the crash.
--Diag <PATH_TO_LOG_FILE>
Включает ведение подробных журналов для платформы тестирования.Enables verbose logs for the test platform. Журналы записываются в указанный файл.Logs are written to the provided file.
--Framework <FRAMEWORK>
Целевая версия платформы .NET Framework, используемая для выполнения тестов.Target .NET Framework version used for test execution. Примеры допустимых значений:
.NETFramework,Version=v4.6
или.NETCoreApp,Version=v1.0
.Examples of valid values are.NETFramework,Version=v4.6
or.NETCoreApp,Version=v1.0
. Другие поддерживаемые значения:Framework40
,Framework45
,FrameworkCore10
иFrameworkUap10
.Other supported values areFramework40
,Framework45
,FrameworkCore10
, andFrameworkUap10
.--InIsolation
Запуск тестов в изолированном процессе.Runs the tests in an isolated process. Это снижает вероятность остановки процесса vstest.console.exe при возникновении ошибки в тестах, однако тесты могут выполняться медленнее.This makes vstest.console.exe process less likely to be stopped on an error in the tests, but tests may run slower.
-lt|--ListTests <FILE_NAME>
Перечисление всех обнаруженных тестов из указанного контейнера тестов.Lists all discovered tests from the given test container.
--logger <LOGGER_URI/FRIENDLY_NAME>
Укажите средство ведения журнала результатов тестирования.Specify a logger for test results.
Чтобы опубликовать результаты теста в Team Foundation Server, используйте поставщик средства ведения журнала
TfsPublisher
:To publish test results to Team Foundation Server, use theTfsPublisher
logger provider:/logger:TfsPublisher; Collection=<team project collection url>; BuildName=<build name>; TeamProject=<team project name> [;Platform=<Defaults to "Any CPU">] [;Flavor=<Defaults to "Debug">] [;RunTitle=<title>]
Чтобы записать результаты в файл результатов теста Visual Studio (TRX), используйте поставщик средства ведения журнала
trx
.To log results to a Visual Studio Test Results File (TRX), use thetrx
logger provider. Этот параметр создает файл журнала с заданным именем в каталоге результатов теста.This switch creates a file in the test results directory with given log file name. ЕслиLogFileName
не указан, для хранения результатов теста создается уникальное имя файла.IfLogFileName
isn't provided, a unique file name is created to hold the test results./logger:trx [;LogFileName=<Defaults to unique file name>]
--Parallel
Выполняйте тесты в параллельном режиме.Run tests in parallel. По умолчанию для использования все доступные на компьютере ядра.By default, all available cores on the machine are available for use. Укажите явное число ядер, задав свойство
MaxCpuCount
в узлеRunConfiguration
в файле runsettings.Specify an explicit number of cores by setting theMaxCpuCount
property under theRunConfiguration
node in the runsettings file.--ParentProcessId <PROCESS_ID>
Идентификатор родительского процесса, отвечающего за запуск текущего процесса.Process ID of the parent process responsible for launching the current process.
--Platform <PLATFORM_TYPE>
Архитектура целевой платформы, используемая для выполнения тестов.Target platform architecture used for test execution. Допустимые значения:
x86
,x64
иARM
.Valid values arex86
,x64
, andARM
.--Port <PORT>
Указывает порт для подключения сокета и получения сообщений о событиях.Specifies the port for the socket connection and receiving the event messages.
--ResultsDirectory:<PATH>
По указанному пути будет создан каталог с результатами теста, если этот путь не существует.Test results directory will be created in specified path if not exists.
--Settings <SETTINGS_FILE>
Параметры, используемые при выполнении тестов.Settings to use when running tests.
--TestAdapterPath <PATH>
Используйте пользовательские адаптеры теста из указанного пути (при наличии) в тестовом запуске.Use custom test adapters from a given path (if any) in the test run.
--TestCaseFilter <EXPRESSION>
Запуск тестов, соответствующих заданному выражению.Run tests that match the given expression.
<EXPRESSION>
имеет формат<property>Operator<value>[|&<EXPRESSION>]
, где Operator принимает одно из следующих значений:=
,!=
или~
.<EXPRESSION>
is of the format<property>Operator<value>[|&<EXPRESSION>]
, where Operator is one of=
,!=
, or~
. Оператор~
имеет семантику "содержит" и применяется для строковых свойств, таких какDisplayName
.Operator~
has 'contains' semantics and is applicable for string properties likeDisplayName
. Скобки()
используются для группировки частей выражений.Parentheses()
are used to group subexpressions. Дополнительные сведения см. в документе о фильтре TestCase.For more information, see TestCase filter.--Tests <TEST_NAMES>
Выполните тесты с именами, которые соответствуют предусмотренным значениям.Run tests with names that match the provided values. Для разделения значений используйте запятые.Separate multiple values with commas.
-?|--Help
Выводит краткую справку по команде.Prints out a short help for the command.
@<file>
Считывает файл ответов с дополнительными параметрами.Reads response file for more options.
args
Задает дополнительные аргументы, передаваемые адаптеру.Specifies extra arguments to pass to the adapter. Аргументы указываются как пары имя-значение в формате
<n>=<v>
, где<n>
является именем аргумента, а<v>
— значением аргумента.Arguments are specified as name-value pairs of the form<n>=<v>
, where<n>
is the argument name and<v>
is the argument value. Для разделения аргументов используйте пробел.Use a space to separate multiple arguments.
ПримерыExamples
Запуск тестов в mytestproject.dll:Run tests in mytestproject.dll:
dotnet vstest mytestproject.dll
Запуск тестов в mytestproject.dll с экспортом в настраиваемую папку с пользовательским именем:Run tests in mytestproject.dll, exporting to custom folder with custom name:
dotnet vstest mytestproject.dll --logger:"trx;LogFileName=custom_file_name.trx" --ResultsDirectory:custom/file/path
Запуск тестов в mytestproject.dll и myothertestproject.exe:Run tests in mytestproject.dll and myothertestproject.exe:
dotnet vstest mytestproject.dll myothertestproject.exe
Запуск тестов TestMethod1
:Run TestMethod1
tests:
dotnet vstest /Tests:TestMethod1
Запуск тестов TestMethod1
и TestMethod2
:Run TestMethod1
and TestMethod2
tests:
dotnet vstest /Tests:TestMethod1,TestMethod2