提高openCover的速度

时间:2017-01-31 08:25:33

标签: jenkins code-coverage opencover

我们当前正在运行一个运行nunit3.console.exe的OpenCover会话。

我们的命令行如下:

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2"
exit 0

由于两者之间的仪器,我们预计这比我们的正常单元测试慢,但不是那么多。

没有代码覆盖,单元测试需要1h。目前,通过代码覆盖,我们已经花了3天23小时,我们认为我们只执行了10%。

这些结果应该在之后导出到SonarQube。

我们可以做些什么来提高速度(除了升级运行测试的计算机,无论如何都可以完成)?

喜欢不太详细的结果,......?我们最感兴趣的是代码覆盖率,持续时间和其他东西对我们来说不是很有趣。 甚至使用除OpenCover之外的其他工具。

我不知道这是否重要,但这一行由詹金斯执行。

1 个答案:

答案 0 :(得分:2)

通过尝试一些事情我确实注意到了一个巨大的进步:

我排除了openCover检测的测试程序集,现在性能非常好:

  • 1h06仅限UnitTests + SonarQube

  • 1h38使用OpenCover + UnitTests + SonarQube

这对我们来说是完全可以接受的。

顺便说一句,我是如何过滤的:

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -filter:"[*]* -[*.Test]*" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2"
exit 0