Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как распараллелить тесты используя ParallelScope в Nunit 3.0

nunit
webdriver
Теги: #<Tag:0x00007f7b611b4098> #<Tag:0x00007f7b60fbbea8>

(Сергей) #1

Добрый день, использую для написания тестов WebDriver C# + Nunit. В новой версии Nunit 3.0 появилась возможность параллельного запуска тестов используя параметры:

добавляем перед классом:
[TestFixture]
[Parallelizable(ParallelScope.Fixtures)]

и запускаем через консоль:
nunit-console.exe MyTest.dll --include=MuSute --result=Text.xml;format=nunit2 --workers=4

После этого, вроде как, все тесты в Sute должны быть параллельно запуститься, но у меня к сожалению не работает, запускается, но не параллельно и все в 1 тред.
Может уже есть, кто работает с Nunit 3.0 и использует параллельный запуск?

Структура проекта такая:
Базовый класс WebDriver в нем создается IWebDriver, от WebDriver наследуется класс в BaseTest в котором описаны [TestFixtureSetUp]/ [TestFixtureTearDown]/[SetUp]/ [TearDown] и от BaseTest уже наследуются классы с тестами, в которых переопределены [TearDown] и [SetUp] конкретно под каждый набор тестов.


(Дмитрий Жарий) #2

Дока говорит, что конкретно тесты как раз не запускается, а запускаются фикстуры:
https://github.com/nunit/dev/wiki/Framework-Parallel-Test-Execution#implementation-status
The following is done:

All work shifts and queues described above.
ParallelizableAttribute and LevelOfParallelismAttribute.
NUnit-console commandline option --workers
Fixtures may be run in parallel.

Not yet done:

Implementation of ExclusionGroups
Running test cases in parallel
Special handling of text output

Сам я пока не пробовал эту фичу.


(You Rooock) #3

Привет.
dzhariy правильно написал, что тесты запускаются в параллель по фикстурам.
Ты даже сам в коде написал, что хочешь ранить тесты по фиктурам: [Parallelizable(ParallelScope.Fixtures)] =)

Раздели тесты по группам (по фикстурам) и запускай их.