下载gtest,内含gtest和gmock

git clone https://github.com/google/googletest

googletest编译

cd googletest
ls

生成Makefile文件(需要安装cmake),继续输入命令编译:

cmake CMakeLists.txt

执行make,在lib文件夹里生成四个静态库:libgtest.a libgtest_main.a libgmock.a libgmock_main.a

make
find . -name "libg*.a"
#在lib文件夹里拷贝四个静态库链接文件到系统里
sudo cp libg*.a  /usr/lib
#拷贝头文件到系统里
sudo cp –r googletest/include/gtest /usr/include
sudo cp –r googlemock/include/gtest /usr/include

注意:不能使用编辑器来执行单测代码,需要使用编译命令。

#编译
g++ gtest1.cpp -lgtest -lgmock -lpthread
#执行
./a.out

样例代码:

#include<gtest/gtest.h>
int add(int a,int b){
    return a+b;
}
TEST(testCase,test0){
    EXPECT_EQ(add(2,3),5);
}
int main(int argc,char **argv){
  testing::InitGoogleTest(&argc,argv);
  return RUN_ALL_TESTS();
}
#include "gmock/gmock.h"

int main(int argc, char **argv) {
  testing::InitGoogleMock(&argc, argv);
  return RUN_ALL_TESTS();
}

其他样例代码在下面各个代码仓库的gtest文件夹里。
gtest和gmock的样例代码