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包管理器 -> 程序包管理控制台