从TeamCity运行时dotCover统计信息出错

时间:2011-11-14 15:59:20

标签: unit-testing code-coverage dotcover

我们有许多项目通过TeamCity构建和运行测试。对于这些项目,代码覆盖率使用dotCover计算。

在某些情况下,它会对行进行两次计算,因此只显示一半的覆盖率。

我们最简单的例子是一个带有一个类的命名空间。这个类只是一个包含6个常量的列表。所以它有6个公共静态属性。

当我们查看代码时,它会以绿色显示所有6行。

但是在统计数据中它报告了12行,因为只有(所有)6个被测试,覆盖率为50%。

我们在项目中的所有项目或所有DLL上都没有此问题,我无法识别任何模式。

有谁知道可能导致此问题的原因?

1 个答案:

答案 0 :(得分:1)

我刚刚遇到了这个问题(teamcity 7.1.5,内置dotcover,msunit测试框架)。

我的原因是我在一个构建步骤中测试了多个程序集。 Assembly1和Assembly2都使用了Assembly3,而Assembly3遇到了这个问题 - 如问题中所述,Assembly3只显示了它应该覆盖的一半。

解决方案:制作两个单独的构建步骤,一个用于测试Assembly1,另一个用于测试Assembly2。现在我不再遇到这个问题,最终结果正确;测试仍然运行,代码覆盖率结果准确。