C#代码覆盖率工具OpenCover使用指南

1. 简介

开源工具 OpenCover 是.net平台下用于生成单元测试覆盖率报告的一款软件,是.net平台下为数不多的一款免费覆盖率报告工具,类似的工具还有Jetbrains的dotcover以及VisualStudio自带的单元测试覆盖率工具,dotcover是付费软件,visualStudio自带的单元测试覆盖率报告工具仅限于在VisualStudio中使用,无法与Jenkins结合实现自动化,并且它只集成在企业版里面,社区版里是没有这个功能的.
OpenCover生成的结果是xml格式的,不够直观,需要用工具转化为比如html格式进行分析.这里使用 ReportGenerator.

图1. ReportGenerator示意图

2.安装

2.1下载地址

OpenCover 下载地址
这里下载的版本是:

图2. ReportGenerator版本
## 2.2 OpenCover安装 openCover安装比较简单,直接双击运行安装就行.安装后得到工具:

图3. OpenCover 安装后的命令行工具

2.3 UI版本OpenCover

博客地址

2.4 ReportGenerator安装

安装过程参考: 博客地址 这里做个备份
在vs的操作:
Tools->NuGet Package Manager->Manager NuGet Packages for Solution…
中文版的:
工具->NuGet 包管理->管理解决方案的NuGet包…

图4. 安装.nupkg文件
点击小齿轮

图5. 安装.nupkg文件
在包管理界面选择自己刚刚添加的包,安装,完事

图6. 安装.nupkg文件
安装后会在packages 目录下的路径 oldserver\packages\ReportGenerator.4.8.6\tools\net47 生成可执行文件 ReportGenerator.exe

3. 使用

3.1 OpenCover使用方法

在图3. OpenCover 安装后的命令行工具 中输入命令

OpenCover.Console.exe -target:"E:\workSpace\codes\Debug\Server\Server.exe" -output:"E:\workSpace\software\c2.xml" -targetdir:"E:\workSpace\codes\Debug\Server"

其中:

  • 参数 -target 指向被分析软件的位置.
  • 参数 -output 指定分析结果的文件名.
  • 参数 -targetdir 指定 被分析软件的文件夹.
    输入参数之后,按Enter就可以启动被分析程序,程序启动后对程序进行逻辑覆盖.完成覆盖后关闭被分析程序.等待十几秒会产生初步概览和c2.xml文件

图7. 生成结果文件

3.2 ReportGenerator使用方法

打开命令行工具执行

E:\workSpace\codes\oldserver\packages\ReportGenerator.4.8.6\tools\net47\ReportGenerator.exe -reports:"E:\workSpace\software\c2.xml" -targetdir:"E:\workSpace\software\coverage"
  • 参数 -reports 是 OpenCover 工具生成结果文件存放的位置.
  • 参数 -targetdir 指定ReportGenerator结果生成的位置.
    生成后到E:\workSpace\software\coverage文件夹下找到index.html文件用浏览器打开即可.效果如下


posted @ 2022-01-02 22:12  liyakai  阅读(2478)  评论(1编辑  收藏  举报