Запустите функции Specflow параллельно с помощью Specrun

Я создал 10 файлов объектов Specflow, каждый из которых имеет 5 сценариев. Итак, всего 50 сценариев или тестов. Когда я запускаю эти тесты, используя SpecRun параллельно (3 потока), 3 сценария в каждом файле компонентов выполняются одновременно, и это нормально.

Я раньше использовал Nunit Runner. Если мы запустим три потока и укажем следующий код в app.config, бегун выберет один сценарий из трех разных файлов объектов.

[assembly: Parallelizable(ParallelScope.Fixtures)]

Но SpecRun выбирает три сценария из одного и того же файла функций. Мое требование - повторить поведение бегуна NUnit для Specrun. Таким образом, одновременно выполняются 3 файла объектов. Есть ли способ сделать это?

Я пробовал следующие ссылки:

Как запустить файлы объектов параллельно при использовании specflow/specrun?

Как запустить файлы функций specflow параллельно?

SpecFlow Параллельные и непараллельные тесты

0 ответов

Во-первых, вы должны реализовать внедрение контекста или любую инъекцию зависимостей, поскольку specrun с контекстом specflow не поддерживает параллельное выполнение.

Также, [assembly: Parallelizable (ParallelScope.Fixtures)]определен для Nunit, а не для Specrun. Если вы реализуете внедрение контекста specflow, вы можете получить то, что хотите, увеличив количество потоков. Внедрение контекста Specflow будет выполнять каждую функцию параллельно в зависимости от количества ваших потоков.

Надеюсь, это дает вам ясность.

Другие вопросы по тегам