使用Specrun并行运行SpecFlow功能



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

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

[assembly: Parallelizable(ParallelScope.Fixtures)]

,但Specrun从同一功能文件中选择三个方案。我的要求是为Specrun复制Nunit Runner行为。因此,执行3个功能文件一次并行。有办法这样做吗?

我尝试了以下链接:

使用SpecFlow/Specrun时如何并行运行功能文件?

如何并行运行SpecFlow功能文件?

SpecFlow并行和非并行测试

首先,您必须实现上下文注入或任何依赖项注入,因为具有SpecFlow上下文的Specrun不支持并行执行。

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

我希望这能给您清晰。

相关内容

  • 没有找到相关文章

最新更新