0、欢迎食用

  • 希望对点进来的你有所帮助。
    全文记流水账,内心想法如示例项目名称。

1、建立需测试的项目

  • 新建项目
  • 正常书写.h 和.cpp文件


2、新建单元测试

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

  • 点击确定出现

3、添加被测项目的引用

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


4、编写测试代码

  • 修改unittest1.cpp


5、运行测试

  • 测试 -> 运行 -> 所有测试

6、boom

  • 你以为这样就成功了?天真。

  • 解决

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

    • 添加附加依赖项

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

7、运行结果

  • 终于成功了

8、再次boom

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

  • 再次解决

    • 法一:根据报错信息添加对应依赖项

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

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

        注意这里的Debug和法一中的Debug不是同一个文件夹呀。

9、插播OpenCover插件配置

  • 乱七八糟找了好多都不知道用。github翻这里。看README里面最后也推荐NuGet,那个Alternatively还特意加粗了,果然好用。不听老人言,吃亏在眼前。血泪史啊。
  • 具体配置过程
    • 工具 -> NuGet包管理器 -> 程序包管理控制台

    • 这里的命令复制一下。

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


10、参考资料

VS2017C++单元测试的更多相关文章

  1. Intellij idea添加单元测试工具

    1.idea 版本是14.0.0 ,默认带有Junit,但是不能自动生成单元测试,需要下载JunitGererator2.0插件 2.Settings -Plugins,下载 JunitGenerat ...

  2. Python的单元测试(二)

    title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...

  3. Python的单元测试(一)

    title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...

  4. javascript单元测试框架mochajs详解

    关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...

  5. 使用NUnit为游戏项目编写高质量单元测试的思考

    0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...

  6. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  7. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  8. python_单元测试unittest

    Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...

  9. .Net中的AOP系列之《单元测试切面》

    返回<.Net中的AOP>系列学习总目录 本篇目录 使用NUnit编写测试 编写和运行NUnit测试 切面的测试策略 Castle DynamicProxy测试 测试一个拦截器 注入依赖 ...

随机推荐

  1. [SPOJ 687]Repeats

    Description 题库链接 给出一个长度为 \(n\) 的字符串,求重复次数最多的连续重复子串. \(1\leq n\leq 50000\) Solution Code #include < ...

  2. input输入框file类型第二次不触发onchange事件的解决办法,简单有效

    在网上看了很多办法,现在将网上大部分说法总结如下: 网上说法: 原因:选择一次后onchange事件没有绑定到input标签上:    解决办法:拷贝一份input标签的副本,每次选择后对原input ...

  3. WPF命令(Command)介绍、命令和数据绑定集成应用

    要开始使用命令,必须做三件事: 一:定义一个命令 二:定义命令的实现 三:为命令创建一个触发器 WPF中命令系统的基础是一个相对简单的ICommand的接口,代码如下: public interfac ...

  4. VS2010 的 HTML 5验证

    前言 VS2010的HTML验证中,没有我们的HTML 5,网上我看到使用vs2010 sp1补丁的方法,但是我的安装不了,后来发现下面的方法,让你的vs2010具有html5的验证功能. 下载这个文 ...

  5. ASP的不足与ASP.NET和ASP的区别

    ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强.ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型.面向结构的编程语言,而非面向对象,这就明显 ...

  6. Python生成语音

    from aip import AipSpeech # 利用百度语音合成音频文件 """ 你的 APPID AK SK """ APP_ID ...

  7. MYSQL查询优化:数据类型与效率

    这一部分提供了如何选择数据类型来帮助提高查询运行速度的一些指导:    在可以使用短数据列的时候就不要用长的.如果你有一个固定 长度的CHAR数据列,那么就不要让它的长度超出实际需要.如果你在数据列中 ...

  8. 撩课-Web架构师养成系列第一篇

    前言 Web架构师养成系列共15篇,每周更新一篇,主要分享.探讨目前大前端领域(前端.后端.移动端)企业中正在用的各种成熟的.新的技术.部分文章也会分析一些框架的底层实现,让我们做到知其然知其所以然. ...

  9. 【JavaFx教程】第二部分:Model 和 TableView

    第二部分的主题 创建一个 模型 类. 在 ObservableList 使用模型类. 使用 Controllers 在 TableView 上显示数据. 创建 模型 类. 我们需要一个模型类来保存联系 ...

  10. js知识学习图谱,新手必看

    前端新手学习也不外乎就是Html  css  html5  css3  这是最基本的,学会这些仅仅可以说是会写布局,写网页,不算前端开发,还有最重要的js,jq要学习,我自己java后台转前端,现在复 ...