当我只需要基本覆盖率数据时如何提高 OpenCover 性能?

How to improve OpenCover performance when I need only basic coverage data?

我需要 运行 针对 1000 多个测试的电池进行 OpenCover。我只对:

感兴趣

我不需要:

从文档中我可以看到可以使用一些参数来调整性能:

然而,由于文档不清楚这些属性如何影响性能,我目前正在采用试错法,这实际上可能需要几天才能执行,因为我有数百个测试要 运行,因此,我们将不胜感激任何信息。

-threshold:1 会产生一些效果,因为它减少了发送到主机的数据,但是 'injection' 点仍将执行 - 一旦检测到代码在配置文件 运行.

-oldstyle 也会产生一些影响,因为它每个序列点使用较少的 IL,但由于安全问题,它并不总是能正常工作 - YMMV

-skipautoprops 如果您不关心 属性 用法,则禁用自动属性检测,例如

public string Name { get; set;)

如果代码被过滤器或属性排除,则被排除的代码不会被检测并且将 运行 以正常速度进行,因此您可能会发现排除热点(访问频繁的方法)并排除任何 assemblies/type 你不关心的可能对你的测试性能有帮助。

您指定的其他参数 -mergebyhash-hideskipped:All 会影响 XML 输出。