我创建了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?
答案 0 :(得分:0)
首先,您必须实施上下文注入或任何依赖项注入,因为带有specflow上下文的specrun不支持并行执行。
此外,[assembly: Parallelizable (ParallelScope.Fixtures)]
是为Nunit而非Specrun定义的。如果实现specflow上下文注入,则可以通过增加线程数来获得所需的内容。 Specflow上下文注入将根据您的线程数并行执行每个功能。
我希望这可以使您清楚。