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个大版本,其实在前天晚上就放出了三个版本的对比说明.,但是昨天挂掉了..今天特意去看了..截取了自己觉得比较重要的分享一下. 首先我们最常用的 诊断调试工具 其次测试工具(区别 ...
随机推荐
- Python各类并发模版
以后在写一些Python并发的时候参考下面这个模块,小西总结的挺全的,直接搬砖了. 进程并发 from multiprocessing import Pool, Manager def func(d, ...
- Python高级--闭包与装饰器
前言:在Python中,闭包是一种非常有用的功能!它通常与装饰器一起搭配使用,可以在不改变被装饰函数的功能的基础上,完成更多的功能.如权限认证. 一.如何定义闭包 1.闭包就是两个嵌套的函数,外层函数 ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-2-相应配置
1) 快速配置指南(详细使用下面会讲) 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效 下面2个命令选项既可以在启动服务时指定,也可以 Docker 容器启动(dock ...
- oracle 更新用户密码,授连接权限,
1.授连接权限 grant connect to 用户名; ALTER USER 用户名 ACCOUNT UNLOCK; 2.更新密码 ALTER USER 用户名 IDENTIFIED BY 更新密 ...
- 集成Glide4.3.1出错!AbstractMethodError: abstract method "void com.bumptech.glide.module
项目中原本是用的Glide3.7.0,一切功能正常,但是集成了网易云信的UIKIT后,就出问题了,发现是Glide4.0的问题. Glide4.0,始终会报这么一个错,就算是最简单的加载也仍然报错. ...
- Mysql从库复制的2个问题
.为什么执行stop slave; 再start slave;可以继续主从关系呢? 其实执行stop slave;就是分别关闭了I/O线程(stop slave IO_THREAD;)和SQL线程(s ...
- OC分类(类目/类别) 和 类扩展 - 全解析
OC分类(类目/类别) 和 类扩展 - 全解析 具体见: oschina -> MyDemo -> 011.FoundationLog-OC分类剖析 http://blog.csdn. ...
- Swift与OC代码转换实例
1. Objectice-C code: NSShadow *shadow = [NSShadow new]; [shadow setShadowColor:[UIColor colorWithRed ...
- C# online update demo
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- Vue 使用细节收集
JSX 中 on 开头的属性名 在用 elementui 中的 el-upload 的时候,他们组件中有一个属性 on-change ,也不知道谁想出来的属性名,太扯淡了,非要 on 开头,我开始的代 ...