Google C++单元测试框架
一、概述
Google C++单元测试框架(简称Gtest),可在多个平台上使用(包括Linux, Mac OS X, Windows, Cygwin和Symbian),它提供了丰富的断言、致命和非致命失败判断,能进行值参数化测试、类型参数化测试、“死亡测试”。Gtest是一个开源的项目,其源码可以从这里下载,目前的代码发行版是1.6.0。
编译
源码包中的README文件说明了如何编译Gtest源码,目录msvc、xcode中分别包含了Windows、Mac OS X平台相关的项目文件,cmake目录下是使用CMake进行Makefiles和项目生成的相关文件,如果你在Unix/Linux下,直接在源码目录下执行make命令即可编
译;使用make编译过后并不需要执行make install命令安装Gtest相关的头文件和库文件,对自己的测试代码进行编译时,从当前目录引用头文件和库文件即可
二、执行用例
源码文件的samples目录下为我们提供了多个用例,从sample1到sample9,Gtest作者由浅入深为我们讲解了Gtest的用法,怎么执行这些用例呢?
首先进入源码目录下的make目录,其中包含了一个Makefile文件,执行make命令,make命令执行过后可以看到该目录下增加了几个文件,其中sample1_unittest就是sample1的可执行文件了。执行./sample1_unittest即可看到测试的运行结果:
为编译生成其他用例的可执行文件,我们可以参照make目录下的Makefile文件,或者执行以下步骤:
将gtest-main.a动态库文件拷贝到samples目录下,执行以下命令:
$ g++ -I ../include/ -c sample2_unittest.cc
以及:
$ g++ -I ../include/ sample2.o sample2_unittest.o gtest_main.a -lpthread -o test2
最后我们得到了sample2的可执行文件test2,经过这几步,相信大家也懂得了如何生成自己的Gtest测试执行文件。
方法二:
修改make目录下的Makefile文件,将sample1修改成目标样例,执行make即可
相关文章
- Google 的 C++ 代码规范
- Google Earth Engine——GEE中有哪些图表库?含附加图标库
- Google Earth Engine——将shadow影像运用案例分析
- Google Earth Engine(GEE)——研究区随机样本点值提取到点分析(15000字长文)
- Google Earth Engine (GEE) ——矢量转栅格初学者最易犯的错误
- Google Earth Engine——多光谱/潘氏图像集包含了从原始12位数据上移的五个16位波段的图像。B、G、R和近红外波段的分辨率约为每像素2米,而Pan波段的分辨率约为0.8米
- Google Earth Engine——NASA-USDA增强型SMAP全球土壤水分数据以10公里的空间分辨率提供全球的土壤水分信息。包括:地表和地下土壤湿度(毫米)和异常,土壤湿度剖面(%)
- Google Earth Engine ——LANDSAT 7归一化植被指数NDVI数据集
- Google Earth Engine ——GHS-MOD是GHSL采用的农村-城市住区分类MODel---城市化程度(DEGURBA)分类数据集
- 《Unity虚拟现实开发实战》——第3章,第3.4节为Google Cardboard构建项目
- Google C++ Style Guide在C++11普及后的变化
- 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
- 用google mock模拟C++对象