googletest配置及简单测试用例的执行

下载googletest框架

通过git命令,从代码仓库拉取googletest框架源码,其中gtest1110为拉取代码保存的目标文件夹

 git clone https://gitee.com/mirrors/googletest.git  gtest1110

编译googletest框架

在gtest1110文件夹下创建build文件夹,以保存编译gtest库文件过程中,产生的中间文件、目标库文件

 mkdir build

切换到build文件夹下

cd build

在build文件夹下通过cmake命令,执行上层目录中的CmakeList.txt文件,以生成MakeFile文件。此处由于运行环境不同,执行Cmake命令时需要增加额外的参数。
Unix等系统环境下:

cmake ..

windows系统环境下:

cmake .. -G "Unix Makefiles"

其中的-G参数标明:生成指定的Unix Makefile文件,window下如果不加-G参数,则不会生成Makefile文件
下图为成功生成Makefile文件示意


在build文件夹下执行

make

此时在build/lib文件夹下生成四个库文件

libgmock.a libgmock_main.a libgtest.a libgtest_main.a

执行简单的测试用例

在gtest1110同级目录下,建立lib、include文件夹

mkdir lib
mkdir include

在lib文件夹中创建gtest文件夹

cd lib
mkdir gtest

此时文件目录结构为

├─.vscode
├─gtest1110
├─include
└─lib
    └─gtest

通过cp命令,将libgmock.a libgmock_main.a libgtest.a libgtest_main.a四个库文件以及gtest头文件分别拷贝到include和lib/gtest下

cp gtest1110/build/lib/*.a lib/gtest/
cp -r gtest1110/googletest/include/gtest/ include/

建立测试文件gtest.cpp

#include<gtest/gtest.h>
using namespace testing;
int add(int a,int b){
    return a+b;
}
TEST(testCase,test0){
    EXPECT_EQ(add(2, 3), 5); // 正确
    EXPECT_EQ(add(2, 3), 4); // 错误
}
int main(int argc,char **argv){
  InitGoogleTest(&argc,argv);
  return RUN_ALL_TESTS();
}

此时文件目录为

├─.vscode
├─gtest1110
├─include
│   └─gtest
├─lib
│   └─gtest
├─gtest.cpp

在该目录下执行

g++ gtest.cpp -L lib/gtest -I include -lgtest -pthread

其中的-L参数指定库文件目录,-I参数指定头文件目录
之后,windows下生成a.exe文件



执行该文件

./a.exe


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,113评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,926评论 0 2
  • 今天上午陪老妈看病,下午健身房跑步,晚上想想今天还没有断舍离,马上做,衣架和旁边的的布衣架,一看乱乱,又想想自己是...
    影子3623253阅读 2,935评论 3 8