Linux下gtest的安装与使用

一、下载(本人使用的是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 /include 

   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下试用



你可能感兴趣的:(技术贴)