GooglTest GoogleMock 实践感想一

最近开发新项目,负责数据模型的开发。有机会从零开始编码,趁机将一直以来关注但没有实践的googletest实践一把。

下面将一些感受记录如下,也是个积累。

一:环境搭建

版本:

下载googletest的最新版本 1.60.

用Vs2010进行编译。

boost_1.49

注:之前的1.5在vs2010下编译有问题。

环境变量:

   GMOCK_DIR =D:\gmock-1.6.0
  *GTEST_DIR  =D:\gmock-1.6.0\gtest
  *BOOST_ROOT = D:\boost_1_49_0
编译:用vs2010打开 D:\gmock-1.6.0\msvc\2010 解决方案。编译,得到gmock.lib

由于googlemock 已经包含googletest 所以这里只要googlemock即可。

二:建立测试工程

1:建立win32 控制台程序 

主程序代码

#include "stdafx.h"

#include
#include
#include

int _tmain(int argc, _TCHAR* argv[])
{
 testing::InitGoogleMock(&argc, argv); 
int r = RUN_ALL_TESTS(); 
return 0;
}

2:测试工程设置

/********************************************************************************
*使用方法:
*
*1:
*系统变量路径
*GMOCK_DIR =D:\gmock-1.6.0
*GTEST_DIR  =D:\gmock-1.6.0\gtest
*BOOST_ROOT = D:\boost_1_49_0
*BETESTED_INCLUDE = E:\..\include
*
*2:
*设置
*   c/c++->inlcude目录:$(GMOCK_DIR)/include;$(GTEST_DIR)/include;被测试类头文件目录;其他头文件目录
*   设置项目其他属性:
* 配置属性-常规:输出目录,中间目录,输出执行文件名
* 连接器-常规:附加库目录:..\..\..\..\lib\debug
*      输入:附加依赖项 gmock.lib
*
*3:
*将 gmock.lib放到测试项目目录下(并添加到项目中)
*
*4:
*对于测试用的文件命名规则
*利用gmock进行测试的用例文件都加上 M 前缀
*利用gtest进行测试的用例文件都加上 T 前缀
*
*5:
*在..\Case 目录下建立测试用例文件 mock文件(Mmock1.h、Mmock1.cpp);测试用例(Mcase1.h、Mcase1.cpp).
*在..\SRC 目录下建立被测试演示文件class1.H/CPP;FUNC1.H/CPP
*并将这两个目录添加到该工程设置中(c/c++->inlcude,见第2条)
*
**在mock声明文件(Mmock1.h)include类声明文件(Mclass1.h)
*在测试用例文件(Mcase1.h)中include mock声明文件(Mmock1.h)
*
*在Mcase1.h 文件中统一包含gmock的相关头文件,命名空间、以及类及其mock类的头文件
*
*6:
*测试用例包的名称和被测试类相同.eg:Point的测试用例包和测试用例名称为:   TEST(Point, create)
*********************************************************************************/

待续     测试工程代码示例如需要可留言 索取

你可能感兴趣的:(调试案例,Unit,Test,c++开发,googletest,测试,include,2010,testing,class)