VS2017C++单元测试
0、欢迎食用
- 希望对点进来的你有所帮助。
全文记流水账,内心想法如示例项目名称。
1、建立需测试的项目
- 新建项目

- 正常书写.h 和.cpp文件


2、新建单元测试
- 右击解决方案 -> 添加 -> 新建项目
Visual C++ -> 测试 -> 本机单元测试项目

- 点击确定出现

3、添加被测项目的引用
- UnitTest1(个人单元测试项目名称,下同) -> 右击引用 -> 添加引用 -> 勾选被测项目

4、编写测试代码
- 修改unittest1.cpp

5、运行测试
- 测试 -> 运行 -> 所有测试

6、boom
你以为这样就成功了?天真。

解决
- 右击UnitTest1 -> 属性
链接器 -> 输入 -> 附加依赖项 -> 编辑

- 添加附加依赖项
- 注意添加的依赖项为被测试类的.obj,不知道的话可以自己翻一下目录。

- 注意添加的依赖项为被测试类的.obj,不知道的话可以自己翻一下目录。
- 右击UnitTest1 -> 属性
7、运行结果
- 终于成功了

8、再次boom
- 就这样高枕无忧了?天真。
在测试数独项目的时候,由于被测试的类引用了别的类,然后又boom。

再次解决
- 法一:根据报错信息添加对应依赖项
- 右击UnitTest1 -> 属性
链接器 -> 输入 -> 附加依赖项 -> 编辑

- 嫌麻烦的话可以只在这里写xxx.obj,然后点击
链接器 -> 常规 -> 附加库目录 -> 编辑
选择xxx.obj对应目录即可
- 右击UnitTest1 -> 属性
- 法二:改添加静态库(如果有的话。添加之前最好都先翻一下目录看看有啥)
- 右击UnitTest1 -> 属性
链接器 -> 输入 -> 附加依赖项 -> 编辑

注意这里的Debug和法一中的Debug不是同一个文件夹呀。
- 右击UnitTest1 -> 属性
- 法一:根据报错信息添加对应依赖项
9、插播OpenCover插件配置
- 乱七八糟找了好多都不知道用。github翻这里。看README里面最后也推荐NuGet,那个Alternatively还特意加粗了,果然好用。不听老人言,吃亏在眼前。血泪史啊。
- 具体配置过程
- 工具 -> NuGet包管理器 -> 程序包管理控制台

- 把这里的命令复制一下。

- 对,就是那个橙色的复制按钮点击一下,然后在上面提到的程序包管理控制台粘贴回车。

- 工具 -> NuGet包管理器 -> 程序包管理控制台
10、参考资料
- 基础书写参考
http://blog.csdn.net/lovehaihong5401/article/details/77608959 - 问题修复参考
http://www.cnblogs.com/xiaoyongwu/p/5289964.html
https://msdn.microsoft.com/zh-cn/subscriptions/hh419385(v=vs.110).aspx - NuGet安装插件
http://blog.csdn.net/u013828589/article/details/72302984
VS2017C++单元测试的更多相关文章
- Intellij idea添加单元测试工具
1.idea 版本是14.0.0 ,默认带有Junit,但是不能自动生成单元测试,需要下载JunitGererator2.0插件 2.Settings -Plugins,下载 JunitGenerat ...
- Python的单元测试(二)
title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...
- Python的单元测试(一)
title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...
- javascript单元测试框架mochajs详解
关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...
- 使用NUnit为游戏项目编写高质量单元测试的思考
0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...
- 我这么玩Web Api(二):数据验证,全局数据验证与单元测试
目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试 一.模型状态 - ModelState 我理解 ...
- ABAP单元测试最佳实践
本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...
- python_单元测试unittest
Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...
- .Net中的AOP系列之《单元测试切面》
返回<.Net中的AOP>系列学习总目录 本篇目录 使用NUnit编写测试 编写和运行NUnit测试 切面的测试策略 Castle DynamicProxy测试 测试一个拦截器 注入依赖 ...
随机推荐
- SQLite事务 SQLite插入多条语句为什么这么慢?.net (C#)
今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟!下面是他发给我的测试代码.我晕~~~~~~ using System.Data; ...
- Java多线程--基础概念
Java多线程--基础概念 必须知道的几个概念 同步和异步 同步方法一旦开始,调用者必须等到方法调用返回后,才能执行后续行为:而异步方法调用,一旦开始,方法调用就立即返回,调用者不用等待就可以继续执行 ...
- angularjs 2.0 简单入门1
一:首先要写json文件,并下载所有的包 1,在任意目录下新建文件夹 命名为angular2Dome,也可以使用命令 mkdir angular2Dome 回车. 2,在angular2Dome文件 ...
- tomcat学习步骤,附带打破双亲委派模型企业应用实战
1. tomcat入门 入门模块仅做学习大纲梳理,忽略了具体操作指引. Tomcat的三种部署模式: 简单架构模型 连接器的非阻塞模式(NIO) 通道(Channel).缓冲区(Buffer).选择器 ...
- 百度智能小程序弹窗组件wcPop|智能小程序自定义model弹窗模板
百度智能小程序自定义弹窗组件wcPop|百度小程序model对话框|智能小程序弹窗界面模板 最近百度也推出了自己的智能小程序,如是就赶紧去试了下,官方提供的api还不是狠完整.而且官方提供的弹窗组件也 ...
- ThinkPHP_5对数据库的CURL操作
Db::query();Db::execute(); Db::table()->select(); 所有数据,二维数组,结果不存在时返回空数组Db::table->find(); 一条数据 ...
- layui数据表格的td模板
1.常用操作模板 <script type="text/html" id="userbar"> <a class="layui-bt ...
- 【代码笔记】iOS-UILabel根据内容自动调整高度
一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...
- 高并发情况下,如何生成分布式全局id
1.使用UUID生成全局id,不占用宽带 2.基于数据库自增或者序列生成全局id,占用宽带,设置自增步长实现集群,但可扩展性差 3.基于redis生成全局id,占用宽度,设置自增步长实现集群,性能比数 ...
- Salesforce中如何删除调试日志
大家在新建一个用户跟踪标记的时候可能会遇到以下报错:调试日志已经超过了上限,在编辑跟踪标志前,删除一些调试日志.但是在点击“全部删除”按钮删除所有可见的日志后,还是报同样的错误,这时候,我们打开开发者 ...