gtest 入门
gtest 入门
简介
Gtest 是 Google 公司发布的一款非常优秀的开源 C/C++单元测试框架,已被应用于多个开源项目及 Google 内部项目中,知名的例子包括 ChromeWeb 浏览器、LLVM 编译器架构、ProtocolBuffers 数据交换格式及工具等。在我们开发规范的代码时候,要想办法构造简单的测试用例进行调试,因此针对 gtest 中的三种事件机制进行简单的分析。
使用
下面仅列举一些比较常用的测试功能,需要更详细的介绍可参考博客:玩转Google开源C++单元测试框架Google Test系列
断言
断言用于直接判断表达式执行是否符合预期的结果,如:返回值是否符合预期、是否抛出预期的异常等。
下面仅演示一下基本结构。
头文件:rect.h
复制代码
源文件:rect.c
复制代码
测试用例:test.cpp
复制代码
测试入口:main.cpp
复制代码
复制代码
复制代码
断言的种类有以下几种:
布尔值检查
数值型数据检查
字符串检查
STREQ
和STRNE
同时支持char*
和wchar_t*
类型的,STRCASEEQ
和STRCASENE
却只接收char*
显式成功或者失败
成功直接调用 SUCCEED()
返回失败:
FAIL()
直接返回失败,不再向下执行。
ADD_FAILURE() << "msg"
,失败并显示信息,但是仍向下执行。
异常检查
浮点数检查
断言不止上面列出的这么多,这里只列举一下可能会比较常用的,还有一些基本不会用到就没有列举了。
参数化
参数化应对于对同一个函数传递各种不同参数的测试情况。
举例说明:
测试用例:test.cpp
复制代码
复制代码
复制代码
版权声明: 本文为 InfoQ 作者【SkyFire】的原创文章。
原文链接:【http://xie.infoq.cn/article/422b1dabbda18a2749248b26e】。文章转载请联系作者。
评论