NCover
TeamCity 支持使用 NCover(1.x 和 3.x)进行 NUnit 测试的代码覆盖率,这些测试是通过 TeamCity NUnit 测试运行器运行的,可以通过以下几种方式进行配置:网络用户界面,TeamCity NUnit 测试启动器,NUnit 适用于 MSBuild,NUnit 适用于 MSBuild,NUnit 适用于 NAnt 构建运行程序。
重要提示
要启动覆盖率,应在运行覆盖率构建的代理上安装 NCover 和 NCoverExplorer。
您无需对构建脚本进行任何修改就可以启用覆盖率。
您无需明确传递任何 NCover/NCoverExplorer 参数给 TeamCity NUnit 测试运行器。
NCover 支持在 x86 平台上启动的 .NET Framework 2.0 和 3.5(NCover 3.x 还支持 x64 平台,并且可与 .NET Framework 4.0 一起工作)。 确保您对 NCover 和 NUnit 指定了相同的平台。
配置 NCover 1.x
确保您的 NUnit 测试在 x86 下运行。
配置 NCover 1.x:
在创建/编辑构建配置时,请转到 构建步骤 页面。
添加支持 NCover 的构建步骤之一(.NET Process Runner、MSBuild、MSpec、NAnt、NUnit),配置单元测试。
在 .NET 覆盖率工具 中选择 NCover (1.x)。
设置 NCover 选项 - 请参考下方可用选项的描述。
选项 | 描述 |
---|---|
NCover 的路径 | 指定安装在构建代理上的 NCover 的路径,或使用 |
NCoverExplorer 的路径 | 在构建代理上指定 NCoverExplorer 的路径。 |
附加 NCover 参数 | 输入额外的参数以传递给 NCover。 |
待分析的程序集 | 指定换行分隔的程序集名称(无路径和扩展名),或者将此字段留空以分析所有程序集。 |
排除属性 | 指定具有定义的 .NET 属性的类和方法,以从覆盖率统计中排除。 |
报告类型 | 选择报告类型。 有关详细信息,请参考 NCoverExplorer 文档。 |
排序 | 请选择首选的排序选项。 有关详细信息,请参考 NCoverExplorer 文档。 |
附加的 NCoverExplorer 参数 | 指定传递给 NCoverExplorer 的额外参数。 请不要在此处输入报告的输出路径,也不要指定有对应用户界面选项的参数。 |
配置 NCover 3.x
确保您在 NCover 和 NUnit 中指定了相同的平台。
配置 NCover 3.x:
在创建/编辑构建配置时,请转到 "构建步骤" 页面。
添加支持 NCover 的构建步骤之一(.NET Process Runner、MSBuild、MSpec、NAnt、NUnit),配置单元测试。
在 .NET coverage tool 中选择 NCover (3.x)。
设置 NCover 选项 - 请参考下方可用选项的描述。
选项 | 描述 |
---|---|
NCover 3 的路径 | 指定到 NCover 的路径。 或者,使用 |
在下方运行 NCover | 选择首选的运行覆盖平台 —— x86 或 x64。 确保所选平台与用于 NUnit 测试的平台一致。 |
NCover 参数 | 指定 NCover 参数,即要进行分析的程序集和覆盖率工具的特定参数。 请勿在此输入可以在用户界面指定的参数,也不要在此输入生成报告和 NCover 进程参数的输出路径。 使用 |
NCover 报告参数 | 指定额外的 NCover 报告参数,除了输出路径。 使用 |
手动报告 NCover 结果
如果 .NET 代码覆盖率是由构建脚本收集的,并且需要在 TeamCity 中报告(例如,Rake,或者如果您通过除 TeamCity NUnit 测试启动器以外的测试启动器运行测试),则有一种方法可以让 TeamCity 知道覆盖率数据。 在 手动配置报告覆盖率 中阅读更多内容。