Xunit Полный список параметров командной строки

#command-line #xunit #xunit.net

Вопрос:

У кого-нибудь есть полный список параметров командной строки для запуска тестов Xunit с консоли?

У меня около 100 тестов, скажем, разбитых на 10 отдельных классов, в каждом классе по 10 тестов

Класс 1 Тест1 Тест2 …

Класс 2 Тест1 Тест2 …

и т.д.

Я могу запустить все эти тесты, перейдя в свой каталог тестов и используя «тест dotnet». Я нашел документацию, в которой говорится -? отображает все параметры командной строки (но, по-видимому, это не полный список). https://livebook.manning.com/book/dotnet-core-in-action/appendix-b/4

Официальная документация https://xunit.net/docs/running-tests-in-parallel говорит, что я могу использовать, например, «- параллельные все», но когда он запускается

тест dotnet-параллельное все

Я получаю

репозиториитест-автоматизация-фреймворкфреймворк>тест dotnet-параллельный всем MSBUILD : ошибка MSB1001: Неизвестный коммутатор. Переключатель: -параллельный

Для синтаксиса переключателя введите «MSBuild-справка».

Я хотел бы перейти к этапу, когда я смогу запускать все свои тесты параллельно, но ограничить количество потоков, скажем, 6, поэтому я буду запускать весь свой набор тестов, по 6 тестов за раз.

Я упускаю что-то очень очевидное?

Ответ №1:

Если я правильно понял ваш вопрос, вы хотите передать некоторые аргументы командной строки Xunit. Но при запуске dotnet test он фактически применяет аргументы к dotnet команде вместо этого.

Вы можете включить распараллеливание и другие функции, используя вместо этого файлы конфигурации.

xunit.config.json

 {
    "parallelizeAssembly": true
}
 

Аргументы, которые вы упомянули (например --parallel ), существуют, но не в dotnet контексте. Вы можете запустить Xunit вручную с помощью программы запуска консоли. Он присутствует в NuGet и на GitHub как часть репо xunit.

Вот его результат:

 $ .xunit.console.exe
xUnit.net Console Runner v2.4.1 (64-bit Desktop .NET 4.6.1, runtime: 4.0.30319.42000)
Copyright (C) .NET Foundation.

usage: xunit.console <assemblyFile> [configFile] [assemblyFile [configFile]...] [options] [reporter] [resultFormat filename [...]]

Note: Configuration files must end in .json (for JSON) or .config (for XML)

Valid options:
  -nologo                : do not show the copyright message
  -nocolor               : do not output results with colors
  -failskips             : convert skipped tests into failures
  -stoponfail            : stop on first test failure
  -parallel option       : set parallelization based on option
                         :   none        - turn off all parallelization
                         :   collections - only parallelize collections
                         :   assemblies  - only parallelize assemblies
                         :   all         - parallelize assemblies amp; collections
  -maxthreads count      : maximum thread count for collection parallelization
                         :   default   - run with default (1 thread per CPU thread)
                         :   unlimited - run with unbounded thread count
                         :   (number)  - limit task thread pool size to 'count'
  -appdomains mode       : choose an app domain mode
                         :   ifavailable - choose based on library type
                         :   required    - force app domains on
                         :   denied      - force app domains off
  -noshadow              : do not shadow copy assemblies
  -wait                  : wait for input after completion
  -diagnostics           : enable diagnostics messages for all test assemblies
  -internaldiagnostics   : enable internal diagnostics messages for all test assemblies
  -debug                 : launch the debugger to debug the tests
  -serialize             : serialize all test cases (for diagnostic purposes only)
  -trait "name=value"    : only run tests with matching name/value traits
                         : if specified more than once, acts as an OR operation
  -notrait "name=value"  : do not run tests with matching name/value traits
                         : if specified more than once, acts as an AND operation
  -method "name"         : run a given test method (can be fully specified or use a wildcard;
                         : i.e., 'MyNamespace.MyClass.MyTestMethod' or '*.MyTestMethod')
                         : if specified more than once, acts as an OR operation
  -nomethod "name"       : do not run a given test method (can be fully specified or use a wildcard;
                         : i.e., 'MyNamespace.MyClass.MyTestMethod' or '*.MyTestMethod')
                         : if specified more than once, acts as an AND operation
  -class "name"          : run all methods in a given test class (should be fully
                         : specified; i.e., 'MyNamespace.MyClass')
                         : if specified more than once, acts as an OR operation
  -noclass "name"        : do not run any methods in a given test class (should be fully
                         : specified; i.e., 'MyNamespace.MyClass')
                         : if specified more than once, acts as an AND operation
  -namespace "name"      : run all methods in a given namespace (i.e.,
                         : 'MyNamespace.MySubNamespace')
                         : if specified more than once, acts as an OR operation
  -nonamespace "name"    : do not run any methods in a given namespace (i.e.,
                         : 'MyNamespace.MySubNamespace')
                         : if specified more than once, acts as an AND operation
  -noautoreporters       : do not allow reporters to be auto-enabled by environment
                         : (for example, auto-detecting TeamCity or AppVeyor)

Reporters: (optional, choose only one)
  -appveyor              : forces AppVeyor CI mode (normally auto-detected)
  -json                  : show progress messages in JSON format
  -quiet                 : do not show progress messages
  -teamcity              : forces TeamCity mode (normally auto-detected)
  -verbose               : show verbose progress messages
  -vsts                  : forces VSTS CI mode (normally auto-detected)

Result formats: (optional, choose one or more)
  -xml <filename>        : output results to xUnit.net v2 XML file
  -xmlv1 <filename>      : output results to xUnit.net v1 XML file
  -html <filename>       : output results to HTML file
  -nunit <filename>      : output results to NUnit v2.5 XML file
  -junit <filename>      : output results to JUnit XML file