我们当前正在运行一个OpenCover session ,该 session 正在运行nunit3.console.exe。

我们的命令行如下:

"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以外的其他工具。

我不知道这是否重要,但这行由jenkins执行。

最佳答案

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

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

  • 1h06仅与UnitTests + SonarQube一起
  • 带有OpenCover + UnitTests + SonarQube的
  • 1h38

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

    顺便说一句,我如何过滤:
    "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
    

    关于jenkins - 提高openCover的速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41952819/

    10-15 09:28