我们目前正在运行一个OpenCover会话,它正在运行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我们原以为这比我们正常的单元测试要慢,因为中间有仪器,但没有那么多。
如果没有代码覆盖,单元测试需要大约1小时的时间。目前,在代码覆盖范围内,我们已经花费了3天23小时,我们认为我们只执行了不到10%的代码。
这些结果应该输出到SonarQube之后。
我们能做些什么来提高速度(除了升级运行测试的计算机之外,这可能无论如何都要做)?
比如没有那么详细的结果.?我们最感兴趣的是代码覆盖率,持续时间和其他内容对我们来说不是很有趣。甚至使用OpenCover以外的其他工具。
我不知道这是否重要,但这一行是詹金斯执行的。
发布于 2017-02-01 07:18:38
通过尝试一些事情,我注意到了一个巨大的进步:
我排除了openCover工具的测试程序集,现在性能非常好:
这对我们来说是可以接受的。
顺便问一下,我是怎么过滤的:
"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发布于 2022-07-30 05:17:18
我知道你的帖子现在已经5岁了,但是你知道有一个-threshold:选项。不完全确定它能做什么,但我怀疑它会随着大量的迭代而从循环中分离出来。
我增加了
-threshold:10
现在OpenCover的速度从几个小时到几个小时。
https://stackoverflow.com/questions/41952819
复制相似问题