查看原文
其他

.NET 使用 Coverlet 统计单元测试覆盖率

DotNet 2024-04-12

↓推荐关注↓

前言

代码覆盖率(Code coverage)是指在软件测试中测试用例执行时覆盖的代码量与总代码量的比例。

代码覆盖率是软件测试中一个重要的指标,它对于保障软件质量、提高软件可靠性和可维护性具有许多好处:发现代码缺陷、提高代码的可维护性、确保代码的正确性和优化测试用例质量等。

我们常用的 IDE,Visual Studio、Rider 等都直接查看覆盖率,但是如果我们想将覆盖率的管控,配置到自动化的质量管控流程里,如 Github Actions、Azure Devops、Github CI 和 Sonarqube 等,需要我们额外做一些工作。

这里我们可以借助开源项目 Coverlet(https://github.com/tonerdo/coverlet)

一、使用 Coverlet

默认情况下执行 dotnet test 的结果:

1.1、方式一

安装 Nuget 包

dotnet add package coverlet.msbuild

然后执行测试命令

dotnet test /p:CollectCoverage=true

可以看到控制台会输出覆盖率结果,并且也会输出到 json 文件。

1.2、方式二

安装 .NET Global Tool

dotnet tool install --global coverlet.console

然后执行 coverlet 命令

coverlet /path/to/test-assembly.dll --target "dotnet" --targetargs "test /path/to/test-project --no-build"

还是推荐第一种方式比较省事。

二、更改输出格式

Coverlet 的默认输出格式是 Json,如果要接入 codecov.io 等平台的话是需要 opencover 格式的,通过 CoverletOutputFormat参数指定。

示例:

dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover

转自:晓晨Master

链接:cnblogs.com/stulzq/p/17188001.html

- EOF -

推荐阅读  点击标题可跳转
C# 异步多线程的本质,上下文流转和同步
.NET 6.0 开发的Websocket群聊、私聊的开源项目.NET静态代码织入—肉夹馍(Rougamo) 发布1.4.0

看完本文有收获?请转发分享给更多人

推荐关注「DotNet」,提升.Net技能 

点赞和在看就是最大的支持❤️

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存