.NET Core单元测试覆盖率统计coverlet配置和使用
https://segmentfault.com/a/1190000017569492
需要使用:
使用 Moq 测试.NET Core 应用 https://www.cnblogs.com/cgzl/p/9308723.html
使用 coverlet 查看.NET Core应用的测试覆盖率 https://www.cnblogs.com/cgzl/p/9326127.html
这两天在给项目补单元测试,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就能看到对应的测试报告了.


全文完.
————————————————————————————————————————————————————
//生成测试报告
项目的目录下\XUnitTest>dotnet test /p:CollectCoverage=true /p:CoverletOutput=./results/ /p:CoverletOutputFormat=opencover
//生成报告1
项目的目录下\XUnitTest>dotnet C:\Users\pli.kelelipeng\.nuget\packages\reportgenerator\4.0.15\tools\netcoreapp2.0\ReportGenerator.dll -reports:.\coverage.opencover.xml -targetdir:Reports
//生成报告2
项目的目录下\XUnitTest>reportgenerator -reports:./results/*.xml -targetdir:./reports01
——————————————————————————————————————————————————————
.NET Core单元测试覆盖率统计coverlet配置和使用的更多相关文章
- EclEmma单元测试覆盖率统计插件
EclEmma是Eclipse里的一个插件,安装简单,覆盖率显示直观.安装EclEmma.打开Eclipse,点击Help → Intall New SofaWare → Work with 输入 h ...
- Xcode5 统计单元测试覆盖率(仅限XCTest)
概要 通过本篇文章,你将学会如何在Xcode5下使用统计XCTest测试代码的覆盖率,以及如何快速得到测试覆盖率的图形化报表. 为什么要特别说明Xcode5下的代码覆盖率统计,原因是,以前的方法在新环 ...
- .NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )
.NET Core单元测试之搞死开发的覆盖率统计 这两天在给项目补单元测试,dalao们要求要看一下测试覆盖率 翻了一波官方test命令覆盖率倒是有支持了,然而某个更新日志里面写着 ["Su ...
- (转)使用CUnit进行单元测试和覆盖率统计
CUnit安装 如果能联网的话,直接 yum install CUnit-devel.x86_64 就完成安装了,注意要安装devel版本,这样才能找到头文件. 编写单元测试代码 CUnit的测试是单 ...
- 使用coverage工具统计python单元测试覆盖率
Coverage简介 Coverage是一种用于统计Python代码覆盖率的工具,通过它可以检测测试代码对被测代码的覆盖率如何.Coverage支持分支覆盖率统计,可以生成HTML/XML报告. 官方 ...
- Jenkins集成jacoco收集单元测试覆盖率
Jenkins集成jacoco收集单元测试覆盖率 2020-02-28 目录 0 整体思路1 Jenkins创建JacocoIntegrateTestDemo项目2 配置源码管理3 配置Build4 ...
- [转载] JaCoCo:分析单元测试覆盖率的利器
转载自http://www.ibm.com/developerworks/cn/java/j-lo-jacoco/和http://www.cnblogs.com/chenfengmugu/p/4937 ...
- Asp.Net Core 单元测试正确姿势
背景 ASP.NET Core 支持依赖关系注入 (DI) 软件设计模式,并且默认注入了很多服务,具体可以参考 官方文档, 相信只要使用过依赖注入框架的同学,都会对此有不同深入的理解,在此无需赘言. ...
- python工业互联网应用实战14——单元测试覆盖率
前面的章节我们完成了任务管理主要功能的开发及单元测试编写,可如何知道单元测试效果怎么样呢?测试充分吗?还有没有没有测到的地方呢? 本章节我们介绍一个统计测试代码覆盖率的利器Coverage,Cover ...
随机推荐
- 算法Sedgewick第四版-第1章基础-017一约瑟夫问题(Josephus Problem)
/************************************************************************* * * Josephus problem * * ...
- Linux cpulimit命令
一.简介 http://www.3lian.com/edu/2015/06-12/221261.html 二.安装 http://toutiao.com/a6184908783490073090/ 三 ...
- Damn Couples ZOJ - 3161
传送门 题目大意 N个人,M组关系,每次选一种关系,如果两个人相邻,则任意删除其中一个,否则不变.问最坏情况下最多能剩多少人. 分析 为了留的人最多,我们可以先将原来不相邻的关系全部说完,这样我们只需 ...
- tab页以及jqgrid某些用法参考记录
<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="CcrCreditHuman ...
- Day Day Up—— ——fseek()函数的用法
在牛客网遇到的一个程序题中用到了函数fseek()故查阅了一下该函数的功能及用法,整理如下: fseek函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h 功 能: 重定位流上的文件指针 ...
- wordcount小程序
wordcount小程序 (1)github网址 https://github.com/yuyuyu960818/count_txt_file (2)PSP表 PSP2.1 PSP阶段 预估耗时 (分 ...
- [学习笔记]_exit和exit深入理解
#include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h> ...
- Android手游外挂入侵----寓攻于守,方能破敌
欢迎访问网易云社区,了解更多网易技术产品运营经验. 手游外挂入侵 随着各种爆款手游的风靡,目前手机游戏的占比用户已经形成一个巨大的市场,市场上你争我夺,有将PC版本移植到手机中,也有新模式手游的推出. ...
- Django之博客系统:自定义模板标签
Django提供了很多内置的模板标签比如{% if %}或者{% block %}Django也允许你创建自己的模板标签(template tags)来执行自定义的动作.当你需要在你的模板中添加功能而 ...
- 转场动画CALayer (Transition)
1.将对应UI控件的层调用以下接口即可 1.1 .h文件 // // 文 件 名:CALayer+Transition.h // // 版权所有:Copyright © 2018年 leLight. ...