Linux下Googletest安装以及使用详解
1 Googletest的安装
1.1创建shell自动下载编译
(网速好的话,也可以从github直接下载)
#!/bin/sh
git clone https://gitee.com/mlb810/googletest.git
cd googletest
g++ -isystem googletest/include/ -I googletest/ -isystem googlemock/include/ -I googlemock/ -pthread -c googletest/src/gtest-all.cc
g++ -isystem googletest/include/ -I googletest/ -isystem googlemock/include/ -I googlemock/ -pthread -c googlemock/src/gmock-all.cc
ar -rv libgmock.a gtest-all.o gmock-all.o
1.2利用Googletest编写测试案例
(最最最简单的案例)
//gtest.cpp
#include <iostream>
#include "gtest/gtest.h"
using namespace std;
int MAX(int a, int b)
{
return a>b? a:b;
}
TEST(_MAX, MAXTestCase1)
{
ASSERT_EQ(9,MAX(1,9));
}
TEST(_MAX, MAXTestCase2)
{
ASSERT_EQ(1,MAX(1,9));
}
int main(int argc,char* argv[])
{
testing::InitGoogleTest(&argc,argv);
return RUN_ALL_TESTS();
}
1.3移动库文件
- 在你的测试案例.cpp文件的同级文件夹中创建lib和inlcude的文件夹
- 将googletest文件夹下生成的libmock.a文件复制到新创建的lib文件夹
- 将googletest/googletest/include下的gtest文件夹复制到新创建的include文件夹
- 将googletest/googlemock/include下的gmock文件夹复制到新创建的include文件夹(如果需要)
1.4编译
(生成.o文件)
g++ -o gtest.o -c gtest.cpp -I./include
1.5链接
(这里总是报错,未解决,libgmock.a总是出错)
g++ -o main *.o -I./include -L./lib -lgmock -lpthread