【问题标题】:PartCover with TeamCityTeamCity 的 PartCover
【发布时间】:2011-08-10 07:24:22
【问题描述】:

我正在尝试在 x64 机器 with TeamCity 上设置 partcover for .net 4

执行了测试,但覆盖率报告显示 0 覆盖率。

我在日志中收到以下消息:

 No executable code was detected. 
The issue could be caused by one of the following:
- Include / exclude patterns are incorrect
- Assemblies are compiled without debugging information
- .pdb files are not available
- Visual Studio code coverage is enabled for MSTest
- .testrunconfig is used for MSTest and Visual Studio code coverage is not disabled (CodeCoverage section with enable="true" is present)

但包含模式是[*]*

如果重要的话,我正在运行 TeamCity 6.5.3。有人设法在该版本上运行 partcover 吗?

【问题讨论】:

  • 我认为 JetBrains 没有升级 TeamCity 以使用最新版本的 PartCover(2.2 和 2.3 是仅 .NET2 的旧版本)而不是使用内置集成尝试直接执行 PartCover即如果使用 nant 使用 exec 任务。
  • 我知道这不能完全回答您的问题,但您可能会发现,如果您使用 Jetbrains DotCover 而不是尝试与 PartCover 集成,您可以获得足够准确的覆盖率报告。我们在我们的项目中使用它,设置起来很轻松。 Teamcity Dotcover

标签: .net teamcity code-coverage partcover teamcity-6


【解决方案1】:

1) PartCover 仅支持 32 位进程,因此您需要确保您的测试运行器也在运行 32 位。

2) 确保使用 regsvr32 注册 PartCover dll(如果使用服务帐户运行团队城市,则不能使用每用户注册)。

【讨论】:

  • 在 x86 模式下运行单元测试运行器为我解决了这个问题,谢谢!
【解决方案2】:

一般来说,此消息意味着 TeamCity 未能找到任何覆盖的线路。 这可能是由程序集或覆盖参数引起的。

请随时在http://youtrack.jetbrains.net 使用您从本地测试运行中获得的零件覆盖报告创建问题。也请包括 partcover 的版本号。

TeamCity 6.5.3 必须支持 partcover 4.0.11129

【讨论】:

  • 你为什么说他们必须支持 4.0.11129 - 你有这个链接吗? AFAIK 他们只支持 Soureforge 上的 2.2 和 2.3,并且他们没有为 .NET 4 版本做任何特别的事情。因此,如果他们确实支持它,那更多的是靠运气(由于维护了 GUID)而不是任何实际计划。
  • TeamCity 仅使用给定的命令行启动 partcover.exe。它解析生成的 report.xml 文件以创建报告并发布统计信息。你的意思是什么GUID?我检查了它是否能够解析来自 4.0.11129 的报告。
  • 这是个好消息——TeamCity 中的下拉条目显示 2.2 和 2.3,但这些只是 .NET2 版本。最新版本 4.0 - 也处理 .NET4 框架。您(JetBrains)是否考虑过支持 OpenCover - 支持 32/64 位,并且还具有分支覆盖和序列点覆盖。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多