C# 使用Specflow和NUnit版本3并行运行测试

C# 使用Specflow和NUnit版本3并行运行测试,c#,parallel-processing,nunit,specflow,C#,Parallel Processing,Nunit,Specflow,我有一个使用SpecFlow和NUnit 2.6.3作为测试提供者的项目。目前它工作正常,但现在需要并行运行测试,因为它们变得越来越重 通过阅读,我可以看到NUnit版本3将支持开箱即用的并行性,但它仍然是alpha版本。我无法使用Nunit 3运行SpecFlow生成的测试 有人知道现在是否可以使用SpecFlow和NUnit版本3吗?还是其他一些方法,仍然使用NUnit版本2.6.3和SpecFlow来实现并行性 谢谢 我遇到了同样的情况。我提出了一个使用Selenium网格、任务并行库和D

我有一个使用SpecFlow和NUnit 2.6.3作为测试提供者的项目。目前它工作正常,但现在需要并行运行测试,因为它们变得越来越重

通过阅读,我可以看到NUnit版本3将支持开箱即用的并行性,但它仍然是alpha版本。我无法使用Nunit 3运行SpecFlow生成的测试

有人知道现在是否可以使用SpecFlow和NUnit版本3吗?还是其他一些方法,仍然使用NUnit版本2.6.3和SpecFlow来实现并行性


谢谢

我遇到了同样的情况。我提出了一个使用Selenium网格、任务并行库和DynamicObject类的解决方案。我在这里写的。(太长,无法复制和粘贴)。希望能有帮助。据我所知,在3个版本之前,这是我们能做的最好的了。

非常感谢您的建议

我提出了自己的自定义解决方案——只需通过自定义命令行应用程序的反射来探索测试dll,然后生成单独的操作系统进程,每个进程都使用--include参数调用nunit-console.exe,仅指定一组特定的测试。通过这种方式,我避免了任何线程不安全的代码,并且仍然实现了我的目标

编辑


顺便说一句,我希望有人会觉得它有用。尽管现在nunit 3+中存在内置并行性,但这是对数千个specflow/selenium测试的一场战斗。它还有一个很好的团队城市整合。我认为它足够简单(总共3-4个类),我试图记录
自述文件中可用的所有控制台选项我已经用NUnit 3.2.0测试了夹具级别的并行测试用例执行。在撰写本文时,SpecFlow 2.0确实支持并行性,并且与NUnit 3.2.0配合良好,但是SpecFlow报告引擎无法从NUnit测试执行输出生成HTML报告。你在做什么,这么重?我猜这不是单元测试。有可能是Selenium吗?是的,Specflow正在生成nUnit测试,然后处理不同浏览器的Selenium驱动程序。有两种不同的浏览器用于两种不同的环境,由它们产生的组合变得越来越重要。您提到这是nunit 3+内置的。您知道Specflow是否支持功能文件中的并行方案吗?我在网上找到了一些参考资料,表明这是可能的,但没有具体的例子。所有具体的例子都是关于并行运行不同的功能。回答我自己的问题-看起来nunit不支持这一点。使用“每个方法的并行化”属性会引发编译错误。