在发布模式下使用dotCover运行代码覆盖率出现问题

3

有人成功地在应用程序中使用 dotCover(最好是 TeamCity)来运行覆盖率报告,同时针对发布模式进行目标定位吗?这是我收到的错误消息(此配置在调试模式下有效):

Generate dotCover report (6s)
[09:53:44][Generate dotCover report] Started dotCover: E:\BuildAgent3\tools\dotCover\dotCover.exe report F:\TCAgents\ag3temp\buildTmp\dotcover3521342814066873775.xml
[09:53:44]
[Generate dotCover report] Output: JetBrains dotCover Console Runner v2.0.425.62. Copyright (c) 2009-2012 JetBrains s.r.o. All rights reserved.

[JetBrains dotCover] Report generation started [8/29/2012 9:53:43 AM]
[JetBrains dotCover] Report generation finished [8/29/2012 9:53:43 AM]
[Generate dotCover report] dotCover exited with code: 0
Generate dotCover HTML report
[Generate dotCover HTML report] No source files were found under the build checkout directory F:\TCAgents\ag3work\724608d32a4f6354. No source files will be included in dotCover report as source code of classes.

我们希望生成一组编译好的工件来通过交付流水线(包括部署)。我们在使用 NCover 时没有遇到这个问题 - 它能够在我们的发布构建上生成覆盖率报告。
注意:在发布模式下正在生成 .pdb 文件。

你制作的PDB文件是pdb-only还是full?如果还没有尝试过,请考虑使用full。 - Shaun Wilde
感谢你的建议,Shaun。我正在生成仅限pdb,但是对于另一个生成发布模式构件的项目,同样的配置完全正常。 - Danny Douglass
1个回答

3
根据日志显示,快照已经正常生成,覆盖率统计数据也应该已经生成。看起来源代码构建和覆盖率分析是在不同的构建配置中进行的。您可以将构建和覆盖率分析放在单个配置中,或通过TC参数配置源代码映射。
dotNetCoverage.dotCover.source.mapping (format: path1 => path2)

当前的检出目录可以指定为 %teamcity.build.checkoutDir%


谢谢您的回答,不过 TC 中有一个 bug,JetBrains 的支持团队帮助解决了这个问题。 - Danny Douglass
8
我有类似的问题 - 有没有可能你能贴出修复链接? - Polly Shaw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接