Как передать параметр worker в nunit runner при запуске теста dotnet для проекта .net core 2.2

В настоящее время для наших тестов пользовательского интерфейса selenium мы читаем доступные браузеры серверов selenium, чтобы определить количество потоков, с которыми мы будем запускать наши тесты, и мы передаем параметр «worker» при запуске средства запуска консоли nunit.

Сейчас я переношу нашу автоматизацию на ядро ​​.net. К сожалению, консоль nunit еще не поддерживает ядро ​​.net, и теперь мы используем команду «dotnet test» для запуска тестов, которая по-прежнему запускает тесты nunit.

Я много искал, но не нашел, как передать параметр "рабочие" в nunit? Существуют и другие параметры для «теста dotnet» для потоков, но они не позволяют вам работать с большим количеством потоков, чем имеется ядер процессора. Обратите внимание, что я не хочу жестко указывать количество потоков в assemblyInfo, поскольку мы часто используем разное количество потоков при каждом запуске, в зависимости от сервера селена, на котором выполняются тесты.

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

Версии:

  • .net ядро ​​2.2
  • NUnit 3.11
  • NUnit3TestAdapter 3.12

person Stoyan Kolev    schedule 26.02.2019    source источник


Ответы (1)


Согласно https://github.com/nunit/docs/wiki/Tips-And-Tricks#NumberOfTestWorkers вы можете установить количество рабочих, используя параметр NumberOfTestWorkers.

Вы можете сделать это двумя способами: установить его в файле .runsetting и передать с параметром --settings, или вы можете передать пару ключ-значение прямо в командной строке после разделителя «-».

dotnet test Project.csproj -- NUnit.NumberOfTestWorkers=10

Я пробовал использовать файл настроек .runsettings при запуске тестовой команды, но мне показалось, что параметр там тоже не обнаружен.

Чтобы он заработал, вам просто нужно убедиться, что ваш проект ссылается на NUnit3TestAdapter и что ваш файл .runsettings имеет подобную структуру.

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
    <NUnit>
        <NumberOfTestWorkers>10</NumberOfTestWorkers>
    </NUnit>
</RunSettings>
person Yuriy Granovskiy    schedule 18.09.2019