不忘梦想,一步一步向前走。

gtest使用简介

上一篇 / 下一篇  2010-02-24 20:36:47 / 个人分类:测试资料

最近测试过程中使用gtest,简单易用,是一个非常不错的单元测试框架,简单介绍下使用方法,欢迎大家拍砖

一、安装

官网下载地址:http://code.google.com/p/googletest/

1、下载最新版本:gtest-1.4.0.tar.gz

2、解压后进入gtest-1.4.0

3、  运行./configure  make  make install(需要sudo权限,也可以自己指定安装的目录)

4、  进入根目录,编辑.bashrc,添加库文件路径export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

(编译测试程序时可以找到生成的gtest库文件)

 

二、调用

1、编写测试程序时添加#include <gtest/gtest.h>

2、编译测试程序时添加以下内容-ldl -lgtest -I/usr/local/include(加载gtest头文件)

 

三、简单示例

TEST(TEST_stemmer1,test_pencils)

{

        CStemmer *tt = new CStemmer();  //调用stemmer接口函数

        bool initflag = false;

        initflag = tt->initialize_stemmer();  //初始化函数

        char *word;

        word = new char[MAXLEN+1];

        strcpy(word, "pencils");         //传入测试数据

        word = tt->stemming(word);     //函数对测试数据进行处理

        EXPECT_STREQ("pencil",word);   //使用断言,预期值与实际返回结果进行比较

}

四、stemmer程序部分测试结果

 

Gtest对每个失败的case给出预期值与实际值的差别以及失败case的名称

 

五、gtest断言

布尔值检查

Fatal assertion

Nonfatal assertion

Verifies

ASSERT_TRUE(condition);

EXPECT_TRUE(condition);

conditionis true

ASSERT_FALSE(condition);

EXPECT_FALSE(condition);

conditionis false

数值型数据检查

Fatal assertion

Nonfatal assertion

Verifies

ASSERT_EQ(expected, actual);

EXPECT_EQ(expected, actual);

expected == actual

ASSERT_NE(val1, val2);

EXPECT_NE(val1, val2);

val1 != val2

ASSERT_LT(val1, val2);

EXPECT_LT(val1, val2);

val1 < val2

ASSERT_LE(val1, val2);

EXPECT_LE(val1, val2);

val1 <= val2

ASSERT_GT(val1, val2);

EXPECT_GT(val1, val2);

val1 > val2

ASSERT_GE(val1, val2);

EXPECT_GE(val1, val2);

val1 >= val2

字符串检查

Fatal assertion

Nonfatal assertion

Verifies

ASSERT_STREQ(expected_str, actual_str);

EXPECT_STREQ(expected_str, actual_str);

the two C strings have the same content

ASSERT_STRNE(str1, str2);

EXPECT_STRNE(str1, str2);

the two C strings have different content

ASSERT_STRCASEEQ(expected_str, actual_str);

EXPECT_STRCASEEQ(expected_str, actual_str);

the two C strings have the same content, ignoring case

ASSERT_STRCASENE(str1, str2);

EXPECT_STRCASENE(str1, str2);

the two C strings have different content, ignoring case

     更多详细资料请参看

官方文档:http://code.google.com/p/googletest/wiki/GoogleTestPrimer

推荐文档http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html


TAG:

51testdevil的个人空间 引用 删除 51testdevil   /   2011-08-16 13:46:01
1
 

评分:0

我来说两句

Open Toolbar