VS社区版 使用 OpenCover 获取测试代码覆盖率
注:暂不支持VS2017
Visual Studio 2015 社区版没有集成代码覆盖率的功能,所以想在VS社区版中获取单元测试的代码覆盖率等数据,需要使用到插件 OpenCover。
下载 OpenCover
下载地址:https://github.com/OpenCover/opencover/releases
OpenCover 是实现统计代码覆盖率等功能的一个插件,使用它的主要方式是命令行参数。在进入上述下载页面后,下载最新 Release 的 Zip 包即可,如下图所示:

下载 OpenCover.UI 插件
下载地址:https://marketplace.visualstudio.com/items?itemName=jamdagni86.OpenCoverUI#overview
OpenCover.UI 是 OpenCover 的可视化插件,对于不习惯命令行或者仅需要 OpenCover 简单功能的新手非常友好。
下载完成后可以得到一个名为 OpenCover.UI.vsix的安装文件,双击它进行安装,可以在VS中增加OpenCover的选项卡。成功安装后应该会在VS中看到多了一个选项卡,如下:

在VS中设置 OpenCover 的路径
在安装完 OpenCover 的 UI 界面后,需要为其配置 OpenCover 的路径。在VS 中 依次选择 工具-选项 或者是 Tool-Option,示意图如下:

在弹出的菜单页面中找到 OpenCover.UI Options选项并点击。在菜单页面右侧找到OpenCover Path的提示,并点击最右侧的路径选择按钮设置 OpenCover 的路径。这里的路径就是第一步安装的OpenCover中 OpenCover.Console.exe的路径。如下图:

重启 VS 并进行单元测试
设置成功后,重启 VS并打开要统计代码覆盖率的项目。单击菜单中的 OpenCover,我们这里需要用到的是两个菜单项:一项是Open Cover Test Explorer,另一项是Open Cover Results。前者是运行测试的窗口,后者是结果展示的窗口。

先点击Open Cover Test Explorer ,在单元测试函数上右键,点击Cover with OpenCover的按钮运行测试。如下图:
注:OpenCover.UI 插件会在打开工程时自动扫描单元测试函数。所以如果在工程打开后增加了单元测试函数,重新打开即可更新OpenCover的信息。

此时点击OpenCover Results 即可看到覆盖率等信息。覆盖率指标示意图:

在对应的函数中也会有相应的覆盖提示,绿色表示覆盖到了,红色表示未覆盖。

VS社区版 使用 OpenCover 获取测试代码覆盖率的更多相关文章
- 腾讯产品快速尝鲜,蓝鲸智云社区版V6.1灰度测试开启
这周小鲸悄悄推送了社区版V6.1(二进制部署版本,包含基础套餐.监控日志套餐),没过一天就有用户来问6.1的使用问题了.小鲸大吃一鲸,原来你还是爱我的. (更新版)
官方安装过程如下图所示 1.安装前 下载OpenAcc社区版 1,目前为止的最新版,平台是Linux,选择Linux x86-64. 我的服务器系统是CentOs 下载地址链接:https://www ...
- Centos 7 搭建蓝鲸V4.1.16社区版
第一次搭建蓝鲸平台,参考了蓝鲸社区的官方搭建文档. 友情链接:蓝鲸智云社区版V4.1.16用户手册 搭建时遇到了不少的坑,这里做一个详细的安装梳理 主机硬件要求 官方的推荐如下: 在本地用VMware ...
- Centos 7 搭建蓝鲸V4.1.16稳定社区版
在本地用VMware模拟了三台主机 准备至少3台 CentOS 7 以上操作系统的机器,保证三台虚拟机都可以上网 最低配置:2核4G(我用的是这个) 建议配置: 4核12G 以上 192.168.16 ...
- UOJ社区版安装多个Judger
目录 声明 在同一台机器上安装 在不同机子上安装 声明 本文档非官方文档,为我试坑的经验总结. 本文编写时间 2019.11.04 ,并不一定会随UOJ更新而更新. 由于UOJ需要用SVN传题,并不那 ...
- centos 7 安装 Docker Engine-CentOS 社区版
获取Docker Engine-CentOS社区: https://docs.docker.com/install/linux/docker-ce/centos/ 1.操作系统要求 1.1 要安装 D ...
- VS2015企业版,社区版,专业版详细对比
VS2015 微软出了3个大版本,其实在前天晚上就放出了三个版本的对比说明.,但是昨天挂掉了..今天特意去看了..截取了自己觉得比较重要的分享一下. 首先我们最常用的 诊断调试工具 其次测试工具(区别 ...
随机推荐
- FastDFS分布文件系统Java客户端使用
原文链接:http://blog.csdn.net/xyang81/article/details/52847311 Java客户端源代码和jar:链接:http://pan.baidu.com/s/ ...
- python第三十课--异常(raise关键字)
演示: 1.手动抛出异常对象-->raise关键字 2.try-except代码不能解决语法错误 try: print('try...') raise TypeError('类型有误的异常') ...
- python第三十课--异常(finally讲解)
演示:finally语句的作用 try: fr="" path=r'kaifanglist1.txt' fr=open(path,encoding='utf-8') print(f ...
- JVM系列三:JVM参数设置
JVM系列三:JVM参数设置.分析 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运 ...
- Python os.walk() 方法
#coding=utf-8 import os #(dirpath, dirnames, filenames)[文件夹路径, 文件夹名字, 文件名] def file_name(file_dir): ...
- PAT B1045 快速排序 (25 分)
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 N 个互不相同的正整数的排列,请问 ...
- 计算机视觉-sift(1)原理
1999年由David Lowe首先发表于计算机视觉国际会议(International Conference on Computer Vision,ICCV),2004年再次经David Lowe整 ...
- CPP2-基础部分(1)
参考自<c++ primer 5th zh>,本系列将会接着将<The C++ Programming Language 4th Ed><c++ primer plus ...
- linux中原子操作实现方式
原子操作提供了指令原子执行,中间没有中断.就像原子被认为是不可分割颗粒一样,原子操作(atomic operation)是不可分割的操作. 如下面简单的例子: Thread 1 ...
- 大数据入门第二十二天——spark(二)RDD算子(2)与spark其它特性
一.JdbcRDD与关系型数据库交互 虽然略显鸡肋,但这里还是记录一下(点开JdbcRDD可以看到限制比较死,基本是鸡肋.但好在我们可以通过自定义的JdbcRDD来帮助我们完成与关系型数据库的交互.这 ...