#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