Gtest 测试指导 入门基础(A)

Gtest 测试指导 入门基础(A)
Table of Contents
• 1 Gtest的基本使用,包括下载,安装,编译。
o 1.1 下载
o 1.2 编译
 1.2.1 Gtest静态库的编译
 1.2.2 Gtest在VS中的编译
• 2 在项目中配置Gtest
o 2.1 Gtest在非VS环境下的配置
o 2.2 Gtest在VS环境下的配置
• 3 Gtest的使用
o 3.1 Makefile
o 3.2 构建代码
o 3.3 Gtest断言的使用
o 3.4 Gtest的异常检查
o 3.5 Gtest的事件机制
o 3.6 Gtest的参数化
o 3.7 Gtest的死亡测试
 3.7.1 *_DEATH(statement, regex)
 3.7.2 *_EXIT(statement, predicate, regex)
 3.7.3 死亡测试运行方式
 3.7.4 死亡测试的注意事项
o 3.8 Gtest的运行参数
• 4 作业
o 4.1 编写一个DemoContainer类,按以下接口要求实现:
• 5 参考文献
1 Gtest的基本使用,包括下载,安装,编译。
1.1 下载
直接在google中搜索gtest,第一个就是。也可以从下面地址下载gtest。
https://code.google.com/p/googletest/downloads/
1.2 编译
1.2.1 Gtest静态库的编译
在下载解压后,假设你把gtest源码放在/usr/src/gtest
GTEST_DIR=/usr/src/gtest
设置完GTEST_DIR之后,执行下列的命令
g++ -I G T E S T D I R / i n c l u d e − I {GTEST_DIR}/include -I GTESTDIR/includeI{GTEST_DIR} -c ${GTEST_DIR}/src/gtest-all.cc

ar -rv libgtest.a gtest-all.o
来生成libgtest.a。
1.2.2 Gtest在VS中的编译
下载解压后,里面有个msvc目录,使用VS的同学可以直接的打开msvc里面的工 程文件,打开后会提示你升级,升级后,我们直接编译里面的“gtest”工程, 可以直接编过去的。最好是编译Debug和Relese两个版本。
这里需要注意的是:如果你升级gtest是在VS2008中升级,那么你要使用 gtest 进行测试的demo最好也是VS2008工程,不然你会发现很郁闷,你的 demo怎么也编不过。
如果你编译了Debug和Relese两个版本之后,在msvc里面就有两个文件夹 Debug和Release,这两个目录中能看到编译出来的gtestd.lib或gtest.lib文 件。
2 在项目中配置Gtest
2.1 Gtest在非VS环境下的配置

  1. 把已经生成的libgtest.a放在自己定义的lib中,如 h:/work/myGtest/lib.
  2. 把Gtest需要的头文件放在租户定义的头文件中,如: h:/work/myGtest/include(头文件只需要从Gtest源码中直接copy就可以了)
    2.2 Gtest在VS环境下的配置
    假设我们是用VS2010对gtest进行的编译,那么我们的这个例子也要在VS2010 中建立。
    创建我们要测试的Demo,在VS2010中创建一个空项目,命名为GtestMoney。 接下来为GtestMoney项目配置gtest环境。
  3. 设置gtest头文件路径: 项目 - 属性 - VC++目录 - 包含目录 - 编辑:在 这里添加你的gtest\include 例如我包含目录是: D:\SoftWare\gtest-1.7.0\gtest-1.7.0\include
  4. 设置gtest.lib路径: 项目 - 属性 - 链接器 - 输入 - 附加依赖项: 这里添加的你gtestd.lib/gtest.lib(Debug编译模式用 gtestd.lib,Relese编译用gtest.lib).例如我的附件依赖项是: D:\SoftWare\gtest-1.7.0\gtest-1.7.0\msvc\gtest\Debug\gtestd.lib
  5. Runtime Library设置: 项目 - 属性 - C/C++ - 代码生成器 - 运行库 选择 “多线程调试(/MTD)”。注意:如果Demo和gtest编译用的都是 Relese版本,Runtime Library 设置为"/MT". 当然你可以选择动态链接 (/MD),前提是你之前编译的gtest也同样使用了/MD选项。
    3 Gtest的使用
    下面将介绍在非VS环境下如何使用Gtest,我们将要用一个money的例子来展开 对Gtest的学习。
    3.1 Makefile
    一般的项目要有一个头文件一个cpp文件还有一个测试文件,我们分别命名为 Money.h, Money.cpp和MoneyTest.cpp.因为我们要使用到Gtest,所以添加一 个Makefile来连接Gtest到我们的工程中。Makefile的内容如下。

Should change to your path which contain libgtest.a

GTEST_DIR=H:/work/myGtest

The dirtory which contain Money.h, Money.cpp, MoneyTest and Makefile

SRC_DIR=/cygdrive/h/work/Sample

LDFLAGS += -L ( G T E S T D I R ) / l i b − l g t e s t − l p t h r e a d C X X F L A G S + = − c − g − W a l l − W e x t r a − I (GTEST_DIR)/lib -lgtest -lpthread CXXFLAGS += -c -g -Wall -Wextra -I (GTESTDIR)/liblgtest

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值