安装Google Test
Google Test(下称gtest)的项目主页(请点击这里)。点击【Clone or download】后再点击【Download ZIP】,可以下载到一个叫做googletest-master.zip的文件。下载后这个文件放在了我的系统的~/Downloads/目录下,使用下列命令实施解压缩:
cd ~/Downloads/
unzip googletest-master.zip
解压后得到了新的目录googletest,该目录下的README.md文件中有安装指南。我选择了基于cmake的安装方式,只需要创建一个目录并在其中正确地运行cmake,就可以得到真正构建时所需要的一系列文件了(如Makefile)。如果使用的是基于apt-get的Linux发行版,可以使用下面的命令安装cmake:
sudo apt-get install cmake
有了cmake之后,运行下列的命令来生成构建gtest所需要的辅助文件:
cd ~/Downloads/googletest-master/
mkdir mybuild/
cd mybuild/
cmake ../googletest/
运行完毕后,在当前目录中将生成相应的Makefile文件,这时候可以构建Google Test了,命令如下:
make
sudo make install
在我的系统上,sudo make install会把libgtest.a这个文件放置到/usr/local/lib/这个目录下。现在,可以使用gtest框架来编写测试代码了,一个很简单的例子如下:
#include <gtest/gtest.h>
int foobar(void)
{
return 1;
}
TEST(foobar, test)
{
ASSERT_EQ(1, foobar());
}
int main(int argc, char *argv[])
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
将上面的代码保存在文件gtest.cpp中,使用下列命令即可编译并链接
g++ -c gtest.cpp
g++ gtest.o /usr/local/lib/libgtest.a -lpthread
这会在当前目录下生成一个名为a.out的文件,执行这个文件就可以看到Google Test的效果了,在我的系统上输出内容如下:
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from foobar
[ RUN ] foobar.test
[ OK ] foobar.test (0 ms)
[----------] 1 test from foobar (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 1 test.
若代码成功编译运行且,如上输出,即为安装成功。