Google Test学习(一):入门

原创 2011年01月10日 14:27:00

由于工作需要,要使用GTest进行测试,由于自己从来没有研究过GTest,所以在网上找到一些学习资料:

http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html

可以在这网上作为参考,我也是一边看这个,一边学习的~

 

GTest一直在升级,最新版可以到http://code.google.com/p/googletest/ 里下载。

 

写本文的原因:

虽然上面网址的内容(下面将用上文代替)完整,但我是个初学者,我想有很多初学者,都会出现一些上文没有提到的内容。这算是我把我学习的一个流程进行总结,也算是把自己的初学心得向各位初学者分享。

 

 

学习环境:

由于GTest可以在不同的平台上使用,可能会存在相关的平台配置问题。由于本人是使用Windows,所以下文将以Windows为学习平台,来使用GTest。

本人使用环境:Windows 7+VS2008+GTest

 

也许会有人问,在VC6不行吗?这个我也不知道,因为我在使用VS2008时,发现一些配置在VC6上是没有的。所以能否使用,我本人也不清楚,只能靠高手解决了。网上也有说法是GTest不支持VC6。

 

前期准备:

由于使用VS2008,所以可以直接打开GTest中的msvc文件夹里的工程,按步骤升级即可(因为原来不是在VS2008创建的,只要升级一下即可)。

打开工程后,会出现解决方案资源管理器。

对gtest右键——>生成,即可生成gtestd.lib(这个是对应Debug的),还有一个gtest.lib(这个对应Release),可根据需要生成相应文件,或一次生成两个文件。

我们都会习惯性到把能编译的东西先编译完,但是,不要忘了,我会要查看一下我们编译时的配置:

对gtest右键——>属性——>配置属性——>C/C++——>代码生成,查看右面的“运行时库”,我这里的是多线程调试(/MTd),这记住了,这个在下面的测试用例中,要配置成相应的“运行时库”,否则会出错。这里的“运行时库”可以改为MD,但同样,要把测试用例也得改成相同才行。

 

编写用例前配置:

在VS2008,创建一个项目,为Visual C++  ——>  win32 控制台应用程序(win32 console application),命名为GTest,进入向导,直接完成即可以。

工程创建完后,还没有结束呢。还得配置。

我的GTest在E盘根目录

对GTest右键——>属性——>配置属性——>C/C++——>常规——>附加包括目录:E:/gtest/include(如图1)

对GTest右键——>属性——>配置属性——>C/C++——>代码生成——>运行时库 :与先前gtest配置一样,这里是(/MTd)

对GTest右键——>属性——>配置属性——>转换器——>输入——>附加依赖项:E:/gtest/msvc/gtest/Debug/gtestd.lib  (如图2)

 

图1

 

 

图2

 

 

这样,基本完成了配置了。

 

编写用例:

在GTest.cpp中,加入你需要测试的用例(可以是函数,也可以是类),这里将用上文中的例子来讲解:

 

这个就是需要测试的函数,也没什么好说的,只要是你想测试的就与其替换就可以了。

 

 

这个是测试用例,如果有多个测试,可写多个TEST函数

 

 

MAIN函数

 

 

看到这些,我想大家都会有疑问(特别是初学者),这些代码都放哪里去了??我要怎么放??

不用着急,我前会都说过,在GTest.cpp中加入,我下面将把全部代码放上来,方便大家参考。


这个就是GTest.cpp里面的全部代码,其他文件可以不添加代码哦,如果想在其他文件中加代码原理也是一样的,以后自己研究了,呵呵。

googletest 学习记录

1. 前言学习java的时候, 我们可以非常方便的使用JUnit对我们编写的代码进行测试, 但是C++中没有现成的工具, 后来找到了几款 CPPUnit, googletest。 这里记录下学习goo...
  • zhyh1435589631
  • zhyh1435589631
  • 2016年10月30日 15:30
  • 510

Google Test学习(一):入门

由于工作需要,要使用GTest进行测试,由于自己从来没有研究过GTest,所以在网上找到一些学习资料:http://www.cnblogs.com/coderzh/archive/2009/04/06...
  • bakasen
  • bakasen
  • 2011年01月10日 14:27
  • 2381

google test 入门(一)

翻译自 https://code.google.com/p/googletest/wiki/V1_6_Primer 1.
  • cdhql
  • cdhql
  • 2014年07月09日 15:30
  • 1803

Google C++ Test 入门教程

1. 基础概念 a. Assertions(断言)     断言分为fatal assertion和nonfatal assertion         fatal assertion当发生失败...
  • panhgshine
  • panhgshine
  • 2014年04月25日 18:58
  • 3179

google Test

  • 2010年03月28日 10:19
  • 738KB
  • 下载

首次使用google test心得体会

我的博客中转载过关于Google test的一个系列,今天终于抽出时间按照上面的步骤体会了一下Google test的魅力。开源真是个好东西,Google推出的开源更加不容小视。下面是我使用后的一些体...
  • chgaowei
  • chgaowei
  • 2009年09月21日 22:13
  • 3212

googletest 学习笔记

前言googletest 是由 Google 开发的开源 C++ 单元测试框架,在很多开源项目中(如 chromium)都有使用。这篇博客记录在了自己在学习 googletest 的文档《Primer...
  • u013482618
  • u013482618
  • 2015年11月30日 19:13
  • 1204

google test mock入门

1 导入google mock 名称,一般是testing using ::testing::Return;                            // #1 2 创建mock 对象...
  • carolzhang8406
  • carolzhang8406
  • 2017年02月09日 09:55
  • 710

gtest(Google Test)使用

gtest 代码目录结构 说明:以 gtest-1.7.0 为例 cmake, codegear, make, msvc, xcode 构建测试项目的构建文件,如 make 就是 Makefile. ...
  • duyiwuer2009
  • duyiwuer2009
  • 2015年04月02日 20:06
  • 1901

使用Google Test的一个简单例子

本博客http://blog.csdn.net/livelylittlefish 贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! 0. 引子   本例是从gtest-1....
  • livelylittlefish
  • livelylittlefish
  • 2011年01月17日 23:13
  • 6703
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Google Test学习(一):入门
举报原因:
原因补充:

(最多只允许输入30个字)