TeamCity Code覆盖意外结果

时间:2014-11-13 15:39:55

标签: c# unit-testing teamcity code-coverage

我在TeamCity中为CI设置了一个项目,它显示了代码覆盖率的一些奇怪结果:

enter image description here

请注意类的重复。

查看其中一个类,突出显示的代码为"未涵盖"如下(它是该类中唯一的代码):

public abstract class BaseRepository<T> : BaseRepository<T, long> where T : class
    {
        protected BaseRepository(ISessionManager sessionManager)
        : base(sessionManager)
        {
            //nothing in here.
        }
}

所以问题就出现了:这个代码覆盖,但我认为因为TeamCity计算了三次而覆盖范围只有一次,我的覆盖率达到了33%。 ..这是不正确的。

任何人都可以建议这里可能会发生什么,以及如何解决它?

1 个答案:

答案 0 :(得分:3)

我遇到了从多个位置加载的重复测试容器dll文件的类似问题。

您需要检查测试运行器配置中的Run tests fromDo not run tests from部分,并找出dll多次加载的原因。就我而言,它是obj个文件夹,我的Edit assembly files exclude list现在看起来像是:

**\obj\**\*.dll

你得到了三倍,所以你可能需要找出更多要排除的位置。