TeamCity On-Premises 2024.03 Help

手动配置报告覆盖率

如果您使用 NUnitMSpec.NET Process Runner 运行器运行 .NET 测试,或通过 MSBuildNAnt 运行器支持的任务运行 NUnit 测试,您可以在 TeamCity 网页用户界面为特定运行器开启覆盖率收集。

对于其他情况,例如当 .NET 代码覆盖率由构建脚本收集,并需要在 TeamCity 内报告(例如,Rake,或者如果您通过其他测试启动器运行 NUnit 测试,而不是 TeamCity NUnit Test Launcher),有一种方法可以让 TeamCity 知道覆盖数据。

确保构建脚本根据覆盖率引擎文档实际收集代码覆盖率。

将收集到的数据通过 Build Script Interaction 报告给 TeamCity。

首先,构建脚本需要使用 "dotNetCoverage" 消息让 TeamCity 了解覆盖率引擎的详细信息。
然后,构建脚本可以发出一个或多个 "importData" 消息,导入实际收集的代码覆盖率数据文件。
最后,TeamCity 会展示覆盖率统计数据和一个覆盖率的 HTML 报告。

配置代码覆盖率引擎

使用以下服务消息模板:

##teamcity[dotNetCoverage <key>='<value>' <key1>='<value1>' ...]

其中 密钥 是以下之一:

对于 dotCover(可选)

密钥

描述

dotcover_home

覆盖捆绑的 dotCover 的完整路径到 dotCover 主目录。

对于 NCover 3.x

密钥

描述

样本值

ncover3_home

NCover 安装目录的完整路径。

NCover3 安装目录的路径

ncover3_reporter_args

NCover 报告生成器的参数。

设置 //或 FullCoverageReport:Html:{teamcity.report.path} 或另一种 NCover 命令行参数

对于 NCover 1.x

密钥

描述

样本值

ncover_explorer_tool

NCoverExplorer 的路径。

NCoverExplorer 的路径

ncover_explorer_tool_args

NCover 1.x 的附加参数。

ncover_explorer_report_type

/report: 参数的值。

1

ncover_explorer_report_order

/排序: 参数的值。

1

关于 PartCover

密钥

描述

价值

partcover_report_xslts

按照以下格式编写 xslt 转换规则,每行一个(使用 |n 作为分隔符): file.xslt => generatedFileName.html

file.xslt => generatedFileName.html

导入覆盖率数据文件

要将覆盖率工具生成的 XML 报告传递给 TeamCity,您需要在构建脚本中使用以下服务消息:

##teamcity[importData type='dotNetCoverage' tool='<tool_name>' path='<path_to_the_results_file>']

在这里, tool_name 可以是 dotcoverpartcoverncoverncover3

最后修改日期: 16日 7月 2024年