使用Specrun并行运行Specflow功能

时间:2019-03-01 12:25:45

标签: nunit specflow specrun

我创建了10个Specflow功能文件,每个文件有5个场景。因此,总共有50个方案或测试。当我使用SpecRun并行(3个线程)运行这些测试时,每个功能文件中的3个场景都可以立即执行,这很好。

我以前使用过Nunit Runner。如果我们运行三个线程并在app.config中指定以下代码,则运行程序从三个不同的功能文件中选择一个方案。

[assembly: Parallelizable(ParallelScope.Fixtures)]

但是SpecRun从同一功能文件中选择了三种方案。我的要求是为Specrun复制NUnit运行器行为。因此,一次并行执行3个特征文件。有办法吗?

我尝试了以下链接:

How to run feature files in parallel when using specflow/specrun?

How to run specflow feature files in parallel?

SpecFlow Parallel and non Parallel tests

1 个答案:

答案 0 :(得分:0)

首先,您必须实施上下文注入或任何依赖项注入,因为带有specflow上下文的specrun不支持并行执行。

此外,[assembly: Parallelizable (ParallelScope.Fixtures)]是为Nunit而非Specrun定义的。如果实现specflow上下文注入,则可以通过增加线程数来获得所需的内容。 Specflow上下文注入将根据您的线程数并行执行每个功能。

我希望这可以使您清楚。