分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

.NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )

发布时间:2023-09-06 02:28责任编辑:沈小雨关键词:.NET

.NET Core单元测试之搞死开发的覆盖率统计

这两天在给项目补单元测试,dalao们要求要看一下测试覆盖率

翻了一波官方test命令覆盖率倒是有支持了,然而某个更新日志里面写着

【“Support for Linux and Mac will be considered separately in a subsequent effort.”】

吐血ing。。。

8102年都要过去了,微软同学你是不有点过分啊。

然后又翻了一堆资料之后发现,GitHub有dalao自己搞了个coverlet来支持测试覆盖率。

开源大法拯救世界啊!!!

star一个再说。

coverlet配置和使用

首先安装一下coverlet.

dotnet tool install --global coverlet.console

或者和我一样懒的话,直接在项目里面引用 "coverlet.msbuild" 这个包也行.

 ???<PackageReference Include="coverlet.msbuild" Version="2.5.0" />

引用之后,执行dotnet test 的时候加多三个参数

dotnet test /p:CollectCoverage=true /p:CoverletOutput=‘./results/‘ /p:CoverletOutputFormat=opencover
  • CollectCoverage 收集覆盖率

  • CoverletOutput 测试报告数据输出路径

  • CoverletOutputFormat 测试报告格式,支持这些格式json (default)/lcov/opencover/cobertura/teamcity

其他参数自己看一下文档说明就好.

执行之后大概会看到这些信息.

PS:可怜的个位数覆盖率....

这个时候Test项目里面的results 文件夹里面就有一个coverage.opencover.xml 文件了.

打开这个文件大概长这个样.

大概率这不是人看的东西.

然后另一个工具又出来了.

ReportGenerator

https://github.com/danielpalme/ReportGenerator

  • ReportGenerator converts XML reports generated by OpenCover, PartCover, dotCover, Visual Studio, NCover, Cobertura or JaCoCo into human readable reports in various formats.

这个工具可以讲上面这些不是人看的XML转换成HTML输出.

美滋滋啊美滋滋啊.

他们居然还有一个配置指导的页面ReportGenerator/usage

真良心!!!

我这边简单起见,直接安装 dotnet tool 全局工具算了.

dotnet tool install --global dotnet-reportgenerator-globaltool

安装好了之后,直接在命令行里面使用 reportgenerator 生成对应的测试报告即可.我这边的命令大概是:

reportgenerator ‘-reports:UnitTests/results/*.xml‘ ‘-targetdir:UnitTests/results‘

打开UnitTests/results 下面的index.htm就能看到对应的测试报告了.

全文完.

明年见!

.NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )

原文地址:https://www.cnblogs.com/liguobao/p/10199085.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved