[转]玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
文章转载自CoderZh的技术博客
地址:https://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html
前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。
其实gtest本身的实现并不复杂,我们完全可以模仿gtest,不断的完善我们的测试框架, 但最后我们还是决定使用gtest取代掉原来的自己的测试框架,原因是:
1.不断完善我们的测试框架之后就会发觉相当于把gtest重新做了一遍,虽然轮子造的很爽,但是不是必要的。
2.使用gtest可以免去维护测试框架的麻烦,让我们有更多精力投入到案例设计上。
3.gtest提高了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。
gtest的官方网站是:
http://code.google.com/p/googletest/
从官方的使用文档里,你几乎可以获得你想要的所有东西
http://code.google.com/p/googletest/wiki/GoogleTestPrimer
http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide
如果还想对gtest内部探个究竟,就把它的代码下载下来研究吧,这就是开源的好处,哈!
官方已经有如此完备的文档了,为什么我还要写呢?一方面是自己记记笔记,好记性不如烂笔头,以后自己想查查一些用法也可以直接在这里查到,一方面是对于不想去看一大堆英文文档的朋友,在我这里可以快速的找到gtest相关的内容。
下面是该系列的目录:
1.玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest
2.玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
3.玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制
4.玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化
5.玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
6.玩转Google开源C++单元测试框架Google Test系列(gtest)之六 - 运行参数
7.玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest
8.玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架
额外篇:
3.gtest 参数化测试代码示例 (内含完整工程示例)
最新文章
- 9.JAVA中的正则表达式
- C#中堆和栈的区别分析
- Cloudera Manager 5和CDH5离线安装
- combobox获取值
- XE3随笔6:SuperObject 的 JSON 对象中还可以包含 ";方法";
- bzoj2260: 商店购物 &;&; 4349: 最小树形图
- laravel敏捷应用
- 解决Windows 7/win8 使用VMware虚拟机的NAT 不能上网
- Java--Http向服务端提交字条串数据
- OPenGL中的缓冲区对象
- BZOJ 2179FFT快速傅立叶
- winform listview用法
- H5 FormData对象的作用及用法
- PS2键盘扫描码:通码与断码
- 【Python】*args和**kwargs的区别
- 【BZOJ3669】【NOI2014】魔法森林 LCT
- Java CompletableFuture:allOf等待所有异步线程任务结束
- 打印一个浮点值%f和%g
- Python之路,第九篇:Python入门与基础9
- Python web 框架之 Django 基础搭建服务
热门文章
- 循环Gray码的生成(非递归)
- 【转】海量数据解决思路之BitMap
- 移动端布局的思考和rem的设置
- 1-ES简单介绍
- ubuntu上的疑难杂症(不定期更新……)
- RK3288之kernel目录结构以及功能
- CRMEasy知识库访问权限
- Insomni'hack teaser 2019 - Misc - curlpipebash
- 关于数据库抛出异常:Incorrect string value: '\xE1\x...' for column '字段名' at row 1 问题的解决方法
- C\C++下获取系统进程或线程ID(转)