一、下载(本人使用的是gtest-1.7.0)
gtest列表:https://code.google.com/p/googletest/downloads/list
直接下载:gtest-1.7.0.zip
二、安装
upzip gtest-1.7.0.zip
cd gtest-1.7.0
./configure
make
确认lib目录下生成
了libgtest.a和libgtest_main.a,
这两个库是后续测试程序需要链接的库。
三、使用
1.新建test.cpp
#include "gtest\gtest.h"
TEST(Mytest, TestFlag)
{
EXPECT_EQ(0, flag);
}
2.
1)首先进入解压后的gtest目录,编译生成gtest-all.o文件(注意-I后无空格):
$g++ -I./include -I./ -c ./src/gtest-all.cc
2)再生成.a静态库文件:
$ ar -rv libgtest.a gtest-all.o
另一种方法:
$ cd gtest-1.7.0/make
$ make -j9
$make gtest.a
3)在测试目录下,新建lib目录:
$ mkdir lib
4)把gtest目录下的include复制到测试目录下:
$ cp -r <gtestpath>/include <testpath>
5)编译测试文件:
$ g++ -o functions.o -c functions.cpp
$ g++ -o functionsTest.o -c funciontsTest.cpp -I./include
$ g++ -o TestAll.o -c TestAll.cpp -I./include
6)链接:
$ g++ -o main *.o -I./include -L./lib -lgtest -lpthread #注意不是-libgtest,同时需要用到 libpthread这个库
7)运行:若要生成xml结果文件,也可添加运行选项:
$ ./main --gtest_output=xml
注意:
测试文件中一定要有主函数:GTEST_API_ int main(int argc, char** argv)
请参考:
http://blog.csdn.net/yasaken/article/details/7364862 (包括makefile的编写)
http://roclinux.cn/?p=2873 (包括很详细的使用)
跨平台C++单元测试框架GTest -- Linux下试用