单元测试利器之google test
作者:网络转载 发布时间:[ 2013/10/11 16:36:33 ] 推荐标签:
一、概述
gtest是Google开源的一款跨平台的C++单元测试框架,支持自动发现测试、断言集、用户定义的断言、death测试、致命与非致命的失败、类型参数化测试、各类运行测试的选项和XML的测试报告,更多信息请参看官网,也可以参看这里。
二、安装
点击这里下载gtest,当前新的稳定版本是gtest-1.7.0,如下来安装gtest:
#unzip gtest-1.7.0.zip
#cd gtest-1.7.0
#./configure
#make
确认lib/.libs目录下生成了libgtest.a和libgtest_main.a,这是测试程序需要链接的两个库。
三、测试
下面将举例说明如何应用gtest来做单元测试。
1、被测试程序
编写被测试程序,在foo.h中编写函数max,求两个数中的大数:
#ifndef __FOO_H__
#define __FOO_H__
int max(int a, int b)
{
return a>b?a:b;
}
#endif
2、测试程序
编写测试程序test_foo.cpp来对foo.h进行测试:
#include "gtest/gtest.h"
#include "foo.h"
TEST(foo, max)
{
EXPECT_EQ(2, max(2, 1));
EXPECT_EQ(3, max(2, 3));
}
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

sales@spasvo.com