我在.Net Core 2.0中有一个解决方案,其中包含多个应用程序项目和多个单元测试项目。在我的某些代码中,出于测试覆盖范围的目的,我有些方法似乎被“忽略”。当我使用dotCover运行覆盖率分析时,该方法没有覆盖率指示器。没有绿色表示没有覆盖,也没有白色表示没有覆盖。下图显示了覆盖率分析完成后的外观。
该方法是公开的,并且实际上存在覆盖该方法一部分的测试,但是从未显示coverage数据,并且该方法未出现在coverage报告中。我会注意到,确实覆盖了该方法的测试可以毫无问题地发现并执行,并在适当情况下显示通过或失败的结果。
我已经检查了过滤器,但不存在任何可以解释这种情况的过滤器。我没有在类中的任何地方使用ExcludeFromCodeCoverage属性。该方法中的代码行不包括在覆盖率分析中。
由于这些行没有被正确计数,所以我不能相信我现有的代码覆盖率报告。有人知道为什么会这样吗?