gmock
来源:互联网 发布:centos卸载lamp环境 编辑:程序博客网 时间:2024/05/22 11:09
gmock
gtest其实是googlemock(简称gmock)的一个模块,gmock的下载包中包含gtest。gmock的主页为:http://code.google.com/p/googlemock/
三篇学习文章:
1,http://code.google.com/p/googlemock/wiki/ForDummies
2,http://code.google.com/p/googlemock/wiki/CheatSheet
3,http://code.google.com/p/googlemock/wiki/CookBook
按上述顺序阅读,最后一篇文章比较长。
示例1:基本功能
// ITurtle.h
#ifndef __I_TURTLE_H__
#define __I_TURTLE_H__
class ITurtle
{
public:
> virtual void PenDown() = 0;
> virtual void TurnRight(int degrees) = 0; // 顺时针旋转一定的角度
> virtual int GetX() const = 0;
>};
#endif // __I_TURTLE_H__
// Painter.h
#ifndef __PAINTER_H__
#define __PAINTER_H__
#include "ITurtle.h"
class CPainter
{
private:
ITurtle*>}
CPainter::~CPainter()
{
}
void CPainter::SetTurtle(ITurtle*>}
void CPainter::DrawSquare(int> {
> }
> }
> };
} //> };
} //> if (!poParamIF)
{
> int bIsUseAlipay = 0;
UVariantField*>
>
>
> CMockParamIF* poMockParamIF = new CMockParamIF;
EXPECT_CALL(*poMockAPIProvider, GetParamIF())
.Times(AtLeast(1))
.WillRepeatedly(Return(poMockParamIF)); // 这里就是对返回值打桩,如果不指定,则返回默认的(返回值为整型的函数默认返回0,为布尔型的默认返回false,为指针的默认返回NULL)
UVariantField>
UVariantField>
EXPECT_CALL(*poMockParamIF, GetParam(_, _))
.Times(AtLeast(1))
.WillOnce(DoAll(SetArgPointee<1>(unRetailWholesaleValue), Return(1))) // 这些语法参考学习文章或者下面的“设置参数示例”
.WillRepeatedly(DoAll(SetArgPointee<1>(unDefaultValue), Return(1)));
Rank>};
class XXXClientMock :> EXPECT_CALL(mutator, Mutate(NotNull(), 5))
.WillOnce(SetArrayArgument<0>(values,>
2,可以只mock感兴趣的接口,不感兴趣的会继承父类中的实现,即:
class IAbc
{
public:
>
virtual int Func2() { return 100; }
};
class CMockAbc : public IAbc
{
public:
MOCK_METHOD0(Func1, int());
};
通过mock对象调用Func2时,会使用父类中的实现,返回100
- gmock
- gmock
- gmock
- GMock
- GTest && GMock
- 编译gmock
- gmock学习
- gmock学习
- GMock环境搭建
- gmock初体验
- 转载gmock用法
- GMOCK 学习笔记一
- vs2010使用gmock
- vs2010使用gmock
- gtest和gmock
- gmock单元测试框架介绍
- gmock原理剖析
- gtest和gmock入门
- 我的坦克动不起来?!!
- 模式之单例模式
- 32位机器的LowMemory
- IO流__【键盘录入】【转换流】【流操作的规律】【异常日志】【系统信息】
- R语言中向量和列表list的异同
- gmock
- 如何将tomcat图标换成自己的
- 友员函数
- 平安夜,广州传智播客老师们的另一种狂欢
- 高效能的七个习惯
- Shell 基础学习
- the thinker of code complete -- general issues in using variables
- google mock C++单元测试框架
- 将n个字符串中相同的字符串删除