Google mock(g_mock)是什么
1.gmock是谷歌推出的开源白盒测试工具,用于编写C++模拟类的框架。通过gmock可以用一些简单的宏描述想要模拟的接口并指定其期望,在测试中有效地去除外部依赖,更方便地测试模块功能。对类里面需要打桩的函数mock.
2.在单元测试、模块的接口测试时,当这个模块需要依赖另外一个或几个类,而这时这些个类还没有开发好,这时我们就可以定义了Mock对象来模拟那些类的行为。也就是自己实现一个假的依赖类,对这个类的方法你想要什么行为就可以有什么行为,你想让这个方法返回什么结果就可以返回怎么样的结果。
Google mock 使用
使用Mock类的一般流程如下:
- 1.引入你要用到的Google Mock名称. (除宏或其它特别提到的之外所有Google Mock名称都位于testing命名空间之下).
using ::testing::Return;
testing::InitGoogleTest(&argc,argv);
return RUN_ALL_TESTS();
- 2.建立模拟对象(Mock Objects)
class MockFoo: public Foo{
public:
MOCK_METHOD0(count,int());
MOCK_METHOD#1(#2, #3(#4))
// #1表示你要mock的方法共有几个参数,#2是你要mock的方法名称,#3表示这个方法的返回值类型,#4是这个方法具体