上一节我们讲解了如何使用opencover生成单元测试覆盖率报告,opencover默认生成的report为xml格式,可读性并不是特别强,如果靠阅读opencover生成的results.xml来分析测试结果显然是非常耗费时间和精力的.

下面介绍一款工具,可以把opencover生成的xml覆盖率报告转化为交互的html.

继续使用上一节项目,使用nuget添加对reportgenerator的引用.

Reportgenerator安装完成以后,在项目的packages目录下面会有以下目录

ReportGeneratorxxx\tools

我们打开这个目录内容如下:

期中ReportGenerator.exe是我们要使用的生成html报告的工具.

这里我们新建一个bat文件,命名为generateReport.bat,其中代码如下

"E:\personal project\newTest2018\ConsoleApp1\packages\ReportGenerator.3.1.2\tools\ReportGenerator.exe" -reports:"E:\personal project\newTest2018\ConsoleApp1\NunitTest\bin\Debug\results.xml" -targetdir:"coverage"

第一个空格前为ReportGenerator所在位置, -reports后跟的参数为我们用于生成html的xml文件,这个xml文件是上一节我们使用opencover生成的. –targetdir是要存放xml报告的目录.

打开Jenkins,新建一个ReportGeneratorTest的项目,build栏添加windows batch command步骤,然后在命令框里输入刚创建的generateReport.bat的位置

点击保存,然后执行build Now,如果配置正确的话,则会生成一条成功构建记录,打开记录可以看到Console out输出的内容和下面类似

从控制台输出可以看到生成成功了,然后这个目录对我们的意义并不大,我们需要看到是生成的代码覆盖率报告.我们打开目录下的coverage目录(在generateReport.bat里配置的输出目录).可以看到如下类似内容

期中index.htm为导航页面.我们打开index.htm内容类似如下

可以看到上面是测试覆盖率的总体报告,包括创建时间,解析器,程序集数量,类数量,覆盖行数,未覆盖行数,行数覆盖率等.

下面则是每一个类的覆盖率报告.并有图形化展示.

我们点击类名(比如NunitTest.GeneralTest)则会进入这个类测试的更详细页面.如下图

期中上面是总结,下面是此类中每个方法的覆盖率报告.右侧是方法/属性导航,点击会跳到这个方法/属性.点击会进入该方法/属性对应的代码

其中红色表示未覆盖的代码,绿色代表覆盖的代码.

Jenkins结合.net平台工具之ReportGenerator的更多相关文章

  1. Jenkins结合.net平台工具之Opencover

    首先先介绍一下Opencover是什么,Opencover是.net平台下用于生成单元测试覆盖率报告的一款软件,是.net平台下为数不多的一款免费覆盖率报告工具,类似的工具还有Jetbrains的do ...

  2. Jenkins结合.net平台工具之Nunit

    有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins ...

  3. Jenkins结合.net平台工具之Msbuild

    前面我们讲解了关于Jenkins的一些基本知识,通过这些知识我们可以结合一些其它工具实现更为复杂的任务,本篇我们将介绍如何使用msbuild工具结合Jenkins实现构建一个.net控制台框. 首先我 ...

  4. Jenkins结合.net平台工具之Nuget

    我们刚刚通过msbuild在Jenkins环境下把一个控制台项目生成exe可执行文件,如果我们引用了nuget包,也能够正常生成,但是我们知道,我们在把项目提交到git或者svn上的时候并不包含这些包 ...

  5. Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译

    前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再 ...

  6. 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2

    基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...

  7. 如何判断平台工具集去做条件编译(VC++目录、预处理器定义、$(PlatformToolsetVersion))

    作者:zyl910 从VS2010开始,提供了一个平台工作集(Platform ToolSet)选项用于配制vc编译版本.到了VS2012,更是因为默认平台工具集不支持WindowsXP,导致经常需要 ...

  8. 【持续集成】使用Jenkins实现多平台并行集成

    使用Jenkins实现多平台并行集成 二月 15, 2012 暂无评论 我们的后端C应用都是支持跨平台的,至少目前在Linux和Solaris上运行是没有问题的,这样一来我们在配置持续集成环境时就要考 ...

  9. VS平台工具集版本

    参考:http://blog.csdn.net/hillseas/article/details/47373313 VS从2010之后开始支持使用之前的版本进行编译,可以在工程属性->常规中进行 ...

随机推荐

  1. django建立管理系统之五----单页ajax数据交互

    ajax数据提交: 需求: 1. 点击ajax方式提交后数据提交到后台数据库,并且在前台实现数据更新 a.可以用刷新页面来实现数据页面的更新 对应的html,实现局部刷新(可以用刷新页面实现,例如 $ ...

  2. aircrakf

    airmon-ng start wlan0 airodump-ng wlan0mon#find the wifi airodump-ng -w yakoazz -c 1 --bssid BE:5F:F ...

  3. VUE最佳实践

    vuex 作为model数据请求由action来获取,页面组建级的发送action,返回promise给组建使用,如果使用周期较长需comit到mutation保存到state. 数据分模块,根据业务 ...

  4. codeforces 1066 B heater

    菜鸡只配做水题 思路就很简单嘛:肯定扩展的越靠后边越好了 0 0 1 0 1 1 0 0 假设范围是3 ,第一个1一定要选上,第2.3个肯定选3啦,越靠后边就一定能节省更多的点,没看出来和子问题有什么 ...

  5. 两个VirtualBox版本装的语言不一样?

    两个VirtualBox版本装的语言不一样? 1.这个是我用的两个版本的VirtualBox. 2.用这个 VirtualBox-4.3.20-96997-Win.exe安装的时候,一直是英文. 3. ...

  6. 去掉字符空格js

    1. 去掉字符串两端的空格 String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, "&quo ...

  7. Smokeping安装部署

    稳定性检测工具smokeping安装配置和使用方法 Smokeping介绍 是对IDC网络质量,稳定性等最好的检测工具,包括常规的 ping,dig,echoping,curl等,可以监视www服务器 ...

  8. git常用的命令行

    git管理相关基础命令行,因为现在很多公司都用git管理代码,所以被问及的概率很大,可以用pycharm的git系统,也可以用git代码管理 $git init #初始化仓库$git branch 分 ...

  9. [ARCH] 1、virtualbox中安装archlinux+i3桌面,并做简单美化

    星期六, 28. 七月 2018 02:42上午 - beautifulzzzz 1.安装ArchLinux系统 安装Arch主要看其wiki,比较详细- 中文的我主要参考:一步步教你如何安装 Arc ...

  10. Windows Server 2012 NTP时间同步

    非域环境下有外网连接情况的时间同步 1. 打开组策略,Powershell键入命令:gpedit.msc 2. 在计算机策略对话框中,打开如下路径:计算机配置/管理模板/系统/Windows时间服务/ ...