- 85
- 0
- 约4.9万字
- 约 52页
- 2023-12-09 发布于重庆
- 举报
GTest使用手册【可编辑范本】
玩转Google开源C++单元测试框架GoogleTest系列(gtest)(总)
前段时间学习和了解了下Google的开源C++单元测试框架GoogleTest,简称gtest,非常的不错。我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。
其实gtest本身的实现并不复杂,我们完全可以模仿gtest,不断的完善我们的测试框架,但最后我们还是决定使用gtest取代掉原来的自己的测试框架,原因是:
1。不断完善我们的测试框架之后就会发觉相当于把gtest重新做了一遍,虽然轮子造的很爽,但是不是必要的。
2.使用gtest可以免去维护测试框架的麻烦,让我们有更多精力投入到案例设计上。
3.gtest提高了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。
C:\Users\waht7\Desktop\clawer\crawler\doc\http:\code。google.com\p\googletest\wiki\GoogleTestAdvancedGuide如果想对gtest内部探个究竟,就把它的代码下载下来研究吧,这就是开源的好处,哈!
官方已经有如此完备的文档了,为什么我还要写呢?一方面是自己记记笔记,好记性不如烂笔头,以后自己想查查一些用法也可以直接在这里查到,一方面是对于不想去看一大堆英文文档的朋友,在我这里可以快速的找到gtest相关的内容。
一、初识gtest
前言
本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。
下载
GTest使用手册【可编辑范本】全文共1页,当前为第1页。如果不记得网址,直接在google里搜gtest,第一个就是。目前gtest的最新版本为1.3。0
GTest使用手册【可编辑范本】全文共1页,当前为第1页。
编译
下载解压后,里面有个msvc目录:
使用VS的同学可以直接打开msvc里面的工程文件,如果你在使用的是VS2005或是VS2008,打开后会提示你升级,升完级后,我们直接编译里面的“gtest工程,可以直接编过的.
这里要提醒一下的是,如果你升级为VS2008的工程,那么你的测试Demo最好也是VS2008工程,不然你会发现很郁闷,你的Demo怎么也编不过,我也曾折腾了好久,当时我升级为了VS2008工程,结果我使用VS2005工程建Demo,死活编不过。(这里有人误解了,并不是说只能在VS2008中编译,在VS2005中同样可以。如果要编译VS2005版本,最好保证gtest和你的测试工程都使用VS2005工程。)
编译之后,在msvc里面的Debug或是Release目录里看到编译出来的gtestd。lib或是gtest。lib文件。
第一个Demo
下面我们开始建立我们的第一个Demo了,假如之前使用的VS2008编译的gtest,那么,我们在VS2008中,新建一个Win32ConsoleApplication。接着就是设置工程属性,总结如下:
GTest使用手册【可编辑范本】全文共2页,当前为第2页。1.设置gtest头文件路径
GTest使用手册【可编辑范本】全文共2页,当前为第2页。
2。设置gtest.lib路径
3。RuntimeLibrary设置
GTest使用手册【可编辑范本】全文共3页,当前为第3页。如果是Release版本,RuntimeLibrary设为/MT.当然,其实你也可以选择动态链接(/MD),前提是你之前编译的gtest也使用了同样是/MD选项.
GTest使用手册【可编辑范本】全文共3页,当前为第3页。
工程设置后了后,我们来编写一个最简单测试案例试试,我们先来写一个被测试函数:
intFoo(inta,intb){if(a==0||b==0){throw”don’tdothat”;}intc=a%b;if(c==0)returnb;returnFoo(b,c);}
没错,上面的函数是用来求最大公约数的。下面我们就来编写一个简单的测试案例.
#includegtest/gtest.h〉TEST(FooTest,HandleNoneZeroInput){EXPECT_EQ(2,Foo(4,10));EXPECT_EQ(6,Foo(30,18));}
上面可以看到,编写一个测试案例是多么的简单。我们使用了TEST这个宏,它有两个参数,官方的对这两个参数
您可能关注的文档
最近下载
- 呼吸内科疾病健康宣教.pptx VIP
- 2025至2030全球及中国勒索软件保护行业发展趋势分析与未来投资战略咨询研究报告.docx
- 流程工业MES生产执行与APC先进控制系统建设方案.pdf
- 全等三角形(解析版).pdf VIP
- 2025年心脑血管疾病健康讲座.docx VIP
- 公安机关招聘留置看护辅警考试公共基础与行政职业能力测试题库.docx
- 3【倍福PLC中文手册】2025-08-19 TwinCAT3 PLC库:MC2 基本库手册 PLC Library:Tc2_MC2.pdf VIP
- 国家义务教育学业质量监测模拟试卷科学(八年级).pdf VIP
- 2025装备制造考试题及答案.docx VIP
- 《金风变桨系统》课件.pptx VIP
原创力文档

文档评论(0)