1. 前言
学习java的时候, 我们可以非常方便的使用JUnit对我们编写的代码进行测试, 但是C++中没有现成的工具, 后来找到了几款 CPPUnit, googletest。 这里记录下学习googletest 的一些过程, 方便以后查阅。
2. 相关资料
2.1 官方资料
1. Introduction: Why Google C++ Testing Framework?
2. AdvancedGuide.md
3. Samples.md
4. Google Test
2.2 相关中文博客
1. 玩转Google开源C++单元测试框架Google Test系列(gtest)(总) ===== 》ps: 相当于是中文版的googletest 的学习指导
2. 玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架
看完这篇文章, 对gtest 有一个直观的理解, 本质上的原理可以理解为: 底层维护了一个装有各个测试用例的集合,通过TEST 宏展开时候,初始化一个自定义测试类, 实现将测试类注册到这个集合中去(将测试用例加入到这个集合中来), RUN_ALL_TEST 负责遍历这个集合, 运行所有测试用例。
3. 一些记录
3.1 如何使用 googletest 框架
- 首先下载官方的源码, 编译其中的 msvc工程文件 , 获取gtestd.lib 和 gtest.lib
- 类似 http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html 中所说的, 配置头文件目录, 库目录, 以及附加依赖项
- 不过我们这里将采用属性表的方法
- 我们首先创建一个属性表gtest.props
- 配置相应属性
- 我们首先创建一个属性表gtest.props
- 运行项目
- 保留gtest.props 下次需要使用的时候, 直接导入即可
- 不过我们这里将采用属性表的方法
3.2 使用的时候一些错误提示
编译模式 不匹配
这个主要是因为, vs默认的win32 工程是采用 MDd 方式的, 但是我们这里采用静态链接没有dll文件, 所以应该使用 MTd 方式, 具体内容可以参考 http://qimo601.iteye.com/blog/1550348缺少初始化设置