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