1. 简介
开源工具 OpenCover 是.net平台下用于生成单元测试覆盖率报告的一款软件,是.net平台下为数不多的一款免费覆盖率报告工具,类似的工具还有Jetbrains的dotcover以及VisualStudio自带的单元测试覆盖率工具,dotcover是付费软件,visualStudio自带的单元测试覆盖率报告工具仅限于在VisualStudio中使用,无法与Jenkins结合实现自动化,并且它只集成在企业版里面,社区版里是没有这个功能的.
OpenCover生成的结果是xml格式的,不够直观,需要用工具转化为比如html格式进行分析.这里使用 ReportGenerator.
2.安装
2.1下载地址
OpenCover 下载地址
这里下载的版本是:
2.3 UI版本OpenCover
2.4 ReportGenerator安装
安装过程参考: 博客地址 这里做个备份
在vs的操作:
Tools->NuGet Package Manager->Manager NuGet Packages for Solution…
中文版的:
工具->NuGet 包管理->管理解决方案的NuGet包…
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文件
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文件用浏览器打开即可.效果如下