dotnet vstest

Эта статья относится к: ✔️ пакету SDK для .NET 6 и более поздних версий

Это важно

Команда dotnet vstest заменена dotnet test, которая теперь может использоваться для запуска сборок. См. тест dotnet.

Имя

dotnet vstest — выполняет тесты из указанных сборок.

Synopsis

dotnet vstest [<TEST_FILE_NAMES>] [--Blame] [--Collect:<DATA_COLLECTOR_NAME>]
    [--Diag:<PATH_TO_LOG_FILE>] [-e|--Environment:<NAME="VALUE">]
    [--Framework:<FRAMEWORK>] [--InIsolation] [-lt|--ListTests:<FILE_NAME>]
    [--logger:<LOGGER_URI/FRIENDLY_NAME>] [--Parallel]
    [--Platform:<PLATFORM_TYPE>] [--ResultsDirectory:<PATH>]
    [--Settings:<SETTINGS_FILE>] [--TestAdapterPath:<PATH>]
    [--TestCaseFilter:<EXPRESSION>] [--Tests:<TEST_NAMES>] [[--] <args>...]

dotnet vstest -?|--Help

Description

Команда dotnet vstest запускает приложение командной VSTest.Console строки для запуска автоматизированных модульных тестов. Параметры, приведенные в этой статье, перенаправляются в vstest.console. Полный список параметров командной строки см. вvstest.console.exe параметрах командной строки.

Arguments

  • TEST_FILE_NAMES

    Запустите тесты из указанных сборок. Разделите несколько имен тестовых сборок пробелами. Поддерживаются подстановочные знаки.

Options

  • --Blame

    Выполнение тестов в режиме обвинения. Этот параметр полезен при изоляции проблемных тестов, что приводит к сбою узла тестирования. Он создает выходной файл в текущем каталоге как Sequence.xml , который фиксирует порядок выполнения тестов до сбоя.

  • --Collect:<DATA_COLLECTOR_NAME>

    Включает сборщик данных для тестового запуска. Например, --Collect:"Code Coverage" собирает покрытие кода встроенным сборщиком Visual Studio и --Collect:"XPlat Code Coverage" использует кроссплатформенный сборщик Coverlet. Дополнительные сведения см. в разделе Мониторинг и анализ тестового запуска.

  • --Diag:<PATH_TO_LOG_FILE>

    Включает подробные журналы для тестовой платформы. Журналы записываются в предоставленный файл.

  • -e|--Environment:<NAME="VALUE">

    Задает значение переменной среды для процесса тестового узла. Создает переменную, если она не существует, переопределяет ее, если она выполняется. При использовании этого параметра тесты выполняются в изолированном процессе. Укажите параметр несколько раз, чтобы задать несколько переменных.

  • --Framework:<FRAMEWORK>

    Целевая версия .NET Framework, используемая для тестового выполнения. Пример допустимого значения..NETFramework,Version=v7.0 Другие поддерживаемые значения: Framework40, Framework45FrameworkCore10и FrameworkUap10.

  • --InIsolation

    Выполняет тесты в изолированном процессе. Это делает vstest.console.exe процесс менее вероятным для остановки ошибки в тестах, но тесты могут выполняться медленнее.

  • -lt|--ListTests:<FILE_NAME>

    Перечисляет все обнаруженные тесты из заданного контейнера тестов.

  • --logger:<LOGGER_URI/FRIENDLY_NAME>

    Укажите средство ведения журнала для результатов теста.

    • Чтобы опубликовать результаты теста в Team Foundation Server, используйте TfsPublisher поставщик средства ведения журнала:

      /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 поставщик средства ведения журнала. Этот параметр создает файл в каталоге результатов теста с заданным именем файла журнала. Если LogFileName он не указан, создается уникальное имя файла для хранения результатов теста.

      /logger:trx [;LogFileName=<Defaults to unique file name>]
      
  • --Parallel

    Выполняйте тесты в параллельном режиме. По умолчанию все доступные ядра на компьютере доступны для использования. Укажите явное число ядер, задав MaxCpuCount свойство под RunConfiguration узлом в файле runsettings .

  • --Platform:<PLATFORM_TYPE>

    Целевая архитектура платформы, используемая для выполнения теста. Допустимые значения: x86, x64, ARM64ARMPpc64leS390x, RiscV64и .LoongArch64

  • --ResultsDirectory:<PATH>

    Каталог результатов теста будет создан в указанном пути, если он не существует.

  • --Settings:<SETTINGS_FILE>

    Параметры, используемые при выполнении тестов.

  • --TestAdapterPath:<PATH>

    Используйте пользовательские адаптеры тестирования из заданного пути (если таковые есть) в тестовом запуске.

  • --TestCaseFilter:<EXPRESSION>

    Выполните тесты, соответствующие заданному выражению. <EXPRESSION> имеет формат <property>Operator<value>[|&<EXPRESSION>], в котором оператор является одним из =, !=или ~. Оператор ~ имеет семантику "содержит" и применяется для строковых свойств, таких как DisplayName. Скобки используются для группирования вложенных () выражений. Дополнительные сведения см. в разделе "Фильтр TestCase".

  • --Tests:<TEST_NAMES>

    Выполните тесты с именами, соответствующими указанным значениям. Значения следует разделять запятыми.

  • -?|--Help

    Выводит краткую справку по команде.

  • @<file>

    Считывает файл ответа для получения дополнительных параметров.

  • args

    Задает дополнительные аргументы, передаваемые адаптеру. Аргументы указываются как пары "имя-значение" формы <n>=<v>, где <n> имя аргумента и <v> является значением аргумента. Для разделения аргументов используйте пробел.

Примеры

Выполнение тестов в mytestproject.dll:

dotnet vstest mytestproject.dll

Выполните тесты в mytestproject.dll, экспорт в пользовательскую папку с пользовательским именем:

dotnet vstest mytestproject.dll --logger:"trx;LogFileName=custom_file_name.trx" --ResultsDirectory:custom/file/path

Выполнение тестов в mytestproject.dll и myothertestproject.exe:

dotnet vstest mytestproject.dll myothertestproject.exe

Выполнение TestMethod1 тестов:

dotnet vstest /Tests:TestMethod1

Запуск TestMethod1 и TestMethod2 тестирование:

dotnet vstest /Tests:TestMethod1,TestMethod2

См. также