1.gmock 是什么,为什么用gmock
网上很多,按照google的说法,google说明文档翻译篇
https://www.cnblogs.com/johnson-blog/p/3890418.html
应该是非常好用,很简单就能够上手,便于我们打桩的工具
我现在的情况是,已经有gtest的框架,再去使用 gmock,测试一些,需要mock的场景
2.gmock怎么work
1)
https://github.com/google/googletest
上面是源码,我比较土,就在windows上使用,目录结构如下,msvc里面 自己去找下windows下的工程,对应各种vs版本。编译出来的 gmock.lib,那么开始gmock之旅吧
2).加在已有框架 lib下
3).按照github上的说明文档,给的说明挺清楚,我在我原有的代码上加上了 testing::InitGoogleMock(&argc, argv);
3.gmock怎么mock
gmock文档上也给了个挺好的例子,我们看下
一个mock-turtle.h的建立 就是模拟对象 定义一个头文件,包括你想mock的方法
#include “gmock/gmock.h”
// Brings in Google Mock.
class MockTurtle : public Turtle {
public:
…
MOCK_METHOD0(PenUp, void());
MOCK_METHOD0(PenDown, void());
MOCK_METHOD1(Forward, void(int distance));
MOCK_METHOD1(Turn, void(int degrees));
MOCK_METHOD2(GoTo, void(int x, int y));
MOCK_CONST_METHOD0(GetX, int());
MOCK_CONST_METHOD0(GetY, int());
};
下面就是gtest 和gmock结合,挺好的用法