我正在寻找并行运行测试套件的方法.
我知道 .testrunconfig
设置.这允许您多路复用 CPU的数量.
我想并行运行1000个测试.这是有道理的,因为我正在测试一个Web服务,所以在测试中花费的90%的时间都在等待服务响应.
关于如何解决这个问题的任何想法?测试是为VS编写的,但我愿意在VS之外运行它们.
稍后编辑:Visual Studio测试团队已在VS 2015 Update 1中添加了此内容.请参阅Mark Sowul的答案.
c# parallel-processing unit-testing web-services visual-studio
我们已经并行运行了多年的单元测试(有和没有代码覆盖),遵循以下说明: 如何并行运行单元测试(MSTest)? 在这里: 并行运行单元测试
但是,Visual Studio 2017的最新更新(版本15.5.0或15.5.1及更高版本)似乎打破了这一点,每当我尝试使用自定义测试设置文件并执行代码覆盖时,我现在都会收到以下错误分析:
[12/29/2017 1:35:10 PM Error] Microsoft.VisualStudio.TestPlatform.ObjectModel.SettingsException: Data collectors configured via run settings are not supported with embedded test settings. Please see https://aka.ms/vstest-configure-datacollector for more information. Run settings:
Run Code Online (Sandbox Code Playgroud)
我已在另一个系统上更新,重新启动并验证了此问题.
当恢复到默认设置(没有自定义测试设置文件)并使用VS 2015更新2中引入的"并行运行测试"按钮时,它似乎只是忽略按钮设置并连续运行测试(无论您是否进行代码覆盖) ).
我查看了错误中提供的链接(https://github.com/Microsoft/vstest-docs/blob/master/docs/analyze.md),但它没有帮助澄清问题,除了可能表明是的,改变了.
如果我关闭自定义设置文件,测试运行得很好,但运行时间大约是7倍,这非常令人沮丧.
如何在VS 2017 15.5+中使用并行单元测试执行?
c# unit-testing vs-unit-testing-framework visual-studio-2017