目录
2.使用OpenCppCoverage +vs 2015(企业版,社区版都可以)
三、使用cmake生成项目,构建+gtest进行单元测试+使用命令行执行opencppcoverage输出测试覆盖率
Cmakelists配置多级目录的gtest项目(项目代码和测试代码分离)
前言
首先,关于c++的单元测试的方法偏少(相比java)
其次,在windows环境下的部署方法更少
最后,如果还要输出测试覆盖率,搜索之后发现,几乎没有教程,有也是零星几句,也没有更详细的配置
因此,走过一遍之后打算记录一下过程,方便以后配置也方便有这方面需求的人的查看
声明,文章中涉及到的工具用的是vs2015 enterprise/community+gtest-release-1.7.0+Opencppcoverage+cmake
如何搭配使用见文章详情
一、仅使用gtest+vs2015
1.下载和编译gtest
- 首先下载vs 2015,网上有社区版(免费)+企业版(收费/破解) 如果只需要vs+gtest,并且不使用cmake命令,而且不需要覆盖率用的话,社区版就够了,如果需求不满足前面的条件,就去下载企业版enterprise
我没放c盘,因为太大了,动不动就10g了
- 接着下载gtest
https://github.com/google/googletest/tree/release-1.7.0
下载这个版本就够了,解压之后要进行编译
- 对gtest.sln进行编译
Gtest源码下载之后,在vs中打开msvc文件夹的gtest.sln
打开之后有4个工程
然后重新编译,debug、release两个模式都要编译。编译后,在msvc/gtest/下有debug、release两个文件夹。
msvc\gtest\Debug - Debug方案下的二进制文件:gtestd.lib、gtest_maind.lib(注意主文件名的d后缀)
msvc\gtest\Release - Release方案下的二进制文件:gtest.lib、gtest_main.lib
说明 编译就是右键-生成/重新生成
2.创建具体的项目
创建具体的测试项目,以debug模式为例
- 在VS2015中,创建WIN32控制台应用
- 右击工程名,点击“属性”,配置工程属性; 展开“配置属性——C/C++——常规”,在“附加包含目录”中添加gtest的include文件
比如:
D:\Test-my\googletest-release-1.7.0\googletest-release-1.7.0\include;
3.展开“C/C++——代码生成”,在“运行库”中修改为“多线程调试(/MTd)”