0

我正在经历配置 TeamCity 的痛苦,我已经到了想要生成报告以覆盖我的代码的地步。

在运行测试(失败、成功和省略)时,软件会生成一个 XML 文件,其中所有三个项目都为零。在 TC 中检查报告显示 0% 的覆盖率,尽管它们旁边有(大量)测试。它看起来如下。

Classes: 0% 0/46    Methods: 0% 0/380   Statements: 0% 0/1533  
Diff:    0%         Diff: 0%            Diff: 0%

或在完整报告中。

Beep        0% (0/1)    0% (0/1)    0% (0/1)  
Beep.API    0% (0/6)    0% (0/64)   0% (0/242)  
Beep.DAL    0% (0/6)    0% (0/49)   0% (0/362)  
...

现在,假设我像智障香蕉一样慢(考虑到我在 TeamCity 中的能力不足)——我可能忘记做什么(或不必要地做了)?我该如何解决它?!

我正在尝试尽可能人性化地使用默认值。与 TeamCity 捆绑在一起的是 NUnit,DotCover 也是如此。当然,在我当地的环境中,我得到了(至少部分)覆盖范围。

仔细检查构建日志后,我发现了以下消息。

未检测到覆盖代码。该问题可能由以下原因之一引起:
1. 包含/排除模式不正确
2. 编译程序集时没有调试信息
3. .pdb 文件不可用
4. 为 MSTest 5 启用了 Visual Studio 代码覆盖率。.testrunco
​​nfig 是用于 MSTest 和 Visual Studio 代码覆盖率未禁用(存在启用 =“true”的 CodeCoverage 部分)

(1) 应该不是问题,因为我使用过:

+:assembly=*  
-:assembly=*.Test

(2) 和 (3) 不应该成为问题,因为我正在编译以发布配置 - 不应该出现 PDB 或调试信息。

(4) 和 (5) 应该不是问题,因为我没有在 VS 中启用类似的功能。

还是我错过了一些重要的东西?

4

1 回答 1

1

您是否使用 JetBrains dotCover 进行覆盖?

你在哪里读到过这个过滤器的语法?

仅尝试排除:

-:*.Test

没有assembly关键字。

编辑:在最坏的情况下,尝试使用人工制品和快照依赖项重新创建配置。

请按照http://log.ld.si/post/teamcity-dependencies-101上的教程如何创建依赖项并重试。

于 2014-09-02T20:02:03.413 回答