我认为我对 OpenCover(或一般覆盖范围)的工作方式有一个基本的误解。
我认为没有任何测试的类不会计入覆盖率,这很奇怪。
例如,如果我有两个类(假设行数相同),其中一个类被完全覆盖,而另一个类没有编写 UT,我预计会获得 50% 的覆盖率,但我相信我会获得 100% %。 这对我来说没有意义。
所以我有 2-3 个问题:
- 我是否应该将没有任何 UT 的类(class)计入覆盖率百分比?
- 如果是这样,我该如何解决我的问题? (我应该在报告中查找某些内容吗?到底是什么?OpenCover 是否有可能因其他原因而忽略这些类?)
- 如果不是,这有什么意义?如果我开始将 UT 添加到遗留项目中,则每次我将 UT 添加到迄今为止还没有 UT 的类时,覆盖范围都会下降。如果是这样的话,我一定缺少一些东西。
谢谢你的帮助, 罗伊。
最佳答案
我怀疑该程序集未加载,因此 OpenCover 看不到它(以及其中的所有类)。
最简单的方法是在您希望覆盖的每个程序集中添加至少一种类型的测试。
关于opencover - OpenCoverage 覆盖范围如何运作 - 没有任何测试的类(class)是否被计算在内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513105/