C# 单元测试覆盖率方法 C#如何查看代码的测试覆盖率-C#.Net教程

Visual Studio 2019+ 内置测试覆盖率需手动触发:测试 → 分析代码覆盖率 → 所有测试;.NET Core/5+ 推荐用 coverlet(添加 Coverlet.Collector 包),命令行执行 dotnet test –collect:”XPlat Code Coverage” 生成报告。

Visual Studio 自带的测试覆盖率怎么开

Visual Studio 2019 及以上版本(含 Community 版)已内置测试覆盖率功能,但默认不显示——需要手动触发。关键不是装插件,而是跑测试时带上覆盖率采集开关。

  • 确保项目是 .NET Framework 或 .NET Core/.NET 5+(.NET Core 3.1+ 支持更稳定)
  • 测试项目需引用 Microsoft.NET.Test.Sdk,且使用 dotnet test 或 VS 的“测试资源管理器”运行
  • 在 VS 中:点击菜单栏 测试 → 分析代码覆盖率 → 所有测试(或右键单个测试 → “分析代码覆盖率”)
  • 首次运行后,底部状态栏会出现“代码覆盖率”窗口,双击文件可跳转到具体行——未覆盖的行会标灰

dotnet cli 下用 coverlet 生成覆盖率报告

VS 内置工具对 .NET Core/.NET 5+ 项目有时识别不全(尤其多项目、自定义 SDK 时),coverlet 是目前最稳的跨平台方案,输出格式也更灵活。

  • 在测试项目中添加 NuGet 包:Coverlet.Collector(注意不是 Coverlet.MsBuild,后者已过时)
  • 命令行执行:dotnet test --collect:"XPlat Code Coverage"
  • 会生成 coverage.cobertura.xml 文件;可用 reportgenerator 转 HTML:dotnet tool install -g dotnet-reportgenerator-globaltool,再运行 reportgenerator "-reports:coverage.cobertura.xml" "-targetdir:coveragereport"
  • 打开 coveragereport/index.html 即可交互查看——支持按类、方法、行级展开

为什么某些代码没被计入覆盖率

不是所有“写了代码”就自动参与统计,coverlet 和 VS 都遵循 ECMA-335 标准的 IL 级别采样逻辑,常见漏计原因很具体:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » C# 单元测试覆盖率方法 C#如何查看代码的测试覆盖率-C#.Net教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3996499+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3996499+
  • 本周更新: 0+
  • 最后更新: 2026-03-16