转载请说明出处:http://blog.csdn.net/cywosp/article/details/23684523
gtest测试框架是google开源的用于在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试用例的项目。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集, 用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。
gtest项目官方网址:https://code.google.com/p/googletest
本文主要讲解在ubuntu 13.10上通过apt-get命令来安装gtest。具体步骤如下:
1. 先下载源码
sudo apt-get install libgtest-dev
2. 由于在ubuntu的软件库中没有提供gtest的库文件,因此,第1步的操作只是下载了必要的源码,如果此时在项目中引入gtest/gtest.h头文件,代码在编译时期是没有问题的,只是在连接的时候会找不到对应的库文件。那么如何编译并生成所需的gtest库呢?
首先,先确保系统已经安装了cmake编译工具,如果没有安装则可以执行sudo apt-get install cmake;其次安装如下步骤操作即可:
cd /usr/src/gtest #安装libgtest-dev后,gtest的源码会被放置在该目录中, 目录及文件结构大概如下:
├── cmake
│ └── internal_utils.cmake
├── CMakeLists.txt
└── src
├── gtest-all.cc
├── gtest.cc
├── gtest-death-test.cc
├── gtest-filepath.cc
├── gtest-internal-inl.h
├── gtest_main.cc
├── gtest-port.cc
├── gtest-printers.cc
├── gtest-test-part.cc
└── gtest-typed-test.cc
sudo cmake -E make_directory build #创建一个gtest的编译目录
sudo cmake -E chdir build cmake .. >> /dev/null #创建并生成Makefile文件
sudo cmake --build build >> /dev/null #编译
ls build/libgtest* #编译后build目录中会生成如下两个文件
build/libgtest.a build/libgtest_main.a
sudo cp build/libgtest* /usr/local/lib/ #将生成的库文件拷贝到对应的库目录中,这里拷贝到/usr/local/lib/下
sudo rm -rf build #删除无用的目录
3. 在使用gtest的项目中引入libgtest.a库即可。注:在gtest使用了系统的线程库,所以在项目中还需要引入pthread库
4. 源码编译gtest库与上述的操作有点类似,只是需要到https://code.google.com/p/googletest/downloads/list中去下载源码包,解压后按照cmake编译项目的方法操作即可。
5. 关于如何使用gtest可以参考系列文章http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html