我正在经历配置 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 中启用类似的功能。
还是我错过了一些重要的东西?