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里面的全部代码,其他文件可以不添加代码哦,如果想在其他文件中加代码原理也是一样的,以后自己研究了,呵呵。

相关文章推荐

Google Test单元测试使用

Google开源了很多实用的模块,比如google-gtest/google-gmock/google-glog/google-gflags/google-ctemplate/google-spars...
  • xkarl
  • xkarl
  • 2011年07月22日 09:03
  • 3312

如何用googletest写单元测试

googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试。 本文包...

yang模型和openflow南北向接口

陈明明:北京邮电大学研三在读;研究方向:软件定义光网络控制平面与南向接口研究;实习经历:(1)中国信息通信研究院(前工信部电信研究院)OpenDaylight开发,完成OpenFlow v1.3协议光...

关于string中data()和c_str()函数的几点区别

最近在看网上的一些源码的时候,遇到一个问题,大概是这样的。先上代码: class bin_decoder_t { public: explicit bind_decoder_t(const str...

C++单元测试入门指南-在eclipse上建立Google test

原文:C++ unit test start guide, how to set up Google Test (gtest) in Eclipse? 原文链接:http://www.codepro...

Selenium Test 自动化测试 入门级学习笔记

http://blog.chinaunix.net/uid-26922865-id-3399138.html  REPLC  http://docs.mongodb.org/manual/tutori...

Selenium Test 自动化测试 入门级学习笔记

转载地址:http://www.cnblogs.com/Javame/p/3848258.html 1、下载安装Firefox-selenium插件    需要下载插件可以联系,这里暂不提...

how google test software

  • 2012年11月18日 14:23
  • 12.2MB
  • 下载

Qt使用Google Test项目

  • 2014年12月20日 01:26
  • 628KB
  • 下载

Google Test(GTest)使用方法和源码解析——概况

本文将以GTest的1.7版本为参照,讲解GTest测试框架的简单使用和特性。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Google Test学习(一):入门
举报原因:
原因补充:

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