You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code中获取.NET代码的NUnit测试覆盖率分析?

在VS Code中查看.NET NUnit测试代码覆盖率的方法

一、生成代码覆盖率数据

首先需要借助coverlet工具生成标准格式的覆盖率数据,步骤如下:

  • 给你的NUnit测试项目安装coverlet.collector NuGet包,执行命令:
    dotnet add package coverlet.collector
    
  • 运行测试并生成覆盖率文件:
    dotnet test --collect:"XPlat Code Coverage"
    
    执行完成后,项目根目录的TestResults文件夹下会生成包含覆盖率数据的coverage.cobertura.xml文件。

二、VS Code可视化工具推荐

1. Coverage Gutters

这是最常用的覆盖率可视化扩展,支持直接解析cobertura格式的覆盖率文件:

  • 安装扩展后,打开项目,点击VS Code状态栏的「Watch」按钮,或者通过命令面板(Ctrl+Shift+P)执行Coverage Gutters: Watch命令。
  • 扩展会自动识别覆盖率文件,在编辑器左侧 gutter 用不同颜色标记代码:绿色表示已覆盖,红色表示未覆盖,黄色表示部分覆盖,同时在状态栏显示整体覆盖率百分比。

2. .NET Test Explorer

如果习惯用这个扩展管理测试,也可以配合coverlet实现基础覆盖率查看:

  • 确保已安装扩展后,在测试运行配置中启用覆盖率收集,运行测试后可以在扩展面板看到每个测试类/方法的覆盖率统计,不过可视化细节不如Coverage Gutters丰富。

三、文本形式覆盖率分析

如果需要纯文本的覆盖率汇总,可以使用reportgenerator工具:

  • 先全局安装工具:
    dotnet tool install -g dotnet-reportgenerator-globaltool
    
  • 生成文本汇总报告:
    reportgenerator -reports:"TestResults/**/coverage.cobertura.xml" -targetdir:"coverage-report" -reporttypes:TextSummary
    
    执行后,coverage-report文件夹下的Summary.txt会包含详细的覆盖率统计,包括项目、类、方法的覆盖占比。

内容的提问来源于stack exchange,提问作者Yoro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:34:56