我刚开始进行单元测试(使用 BOOST 框架进行测试,但对于模拟我必须使用 Google Mock)并且我遇到了这种情况: class A { static int Method1(int a, int b){return a+b;} }; class B { static int Method2(int a, int b){ return A::Method1(a,b);} }; 因此,我需要创建模拟类 A,并使我的 B ...
第一步我们需要Mock接口类 MOCK_METHOD0(FUNC, TYPE);第一个参数填写函数名,第二个参数填写函数类型 MOCK_METHOD()后面的数字表示需要几个参数 const成员方法使用MOCK_CONST_METHOD系列 classTestUser:publicUser {public:MOCK_METHOD2(Login,bool(conststd::string&,conststd::string&));MOCK_METHOD1(Pay,bool(...
MOCK_METHOD1(writeBuf,int(int len)); MOCK_METHOD0(closeSock,void()); }; class MockCPublisher :public CPublisher { public: MockCPublisher(int fd):CPublisher(fd){} MOCK_METHOD1(readBuf,int(int len)); MOCK_METHOD1(writeBuf,int(int len)); MOCK_METHOD0(closeSock,void()); }; TEST(...
MOCK_METHOD1(writeBuf, int(int len)); MOCK_METHOD0(closeSock, void()); }; class MockCPublisher : public CPublisher { public: MockCPublisher(int fd):CPublisher(fd){} MOCK_METHOD1(readBuf, int(int len)); MOCK_METHOD1(writeBuf, int(int len)); MOCK_METHOD0(closeSock, 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()); }; 第二步,设置期望 EXPECT_CALL(mock_object, method(matchers)) ...
MOCK_METHOD0(Resume,void()); MOCK_METHOD0(GetTimeOut,int()); }; Mocking Overloaded Methods Mock重载函数的方法也是一样的,不需要使用别的方式: classFoo { ... // Must be virtual as we'll inherit from Foo. virtual~Foo(); // Overloaded on the types and/or numbers of arguments. ...
MOCK_METHOD1(readBuf,int(intlen)); MOCK_METHOD1(writeBuf,int(intlen)); MOCK_METHOD0(closeSock,void()); }; 其中,CSubscriber的构造方法必须有一个int型的fd,而readBuf和writeBuf都只接收一个int型的参数,而closeSock方法 没有参数传递。于是我使用了MOCK_METHOD0和MOCK_METHOD1这两个宏来声明想MOCK...
InvokeWithoutArgs(f) Invoke f, which can be a global/static function or a functor. f must take no arguments. InvokeWithoutArgs(object_pointer, &class::method) Invoke the method on the object, which takes no arguments. InvokeArgument<N>(arg1, arg2, ..., argk) Invoke the mock function...
第10行我们的MockFoo类继承懒同学的FooInterface 第22行我们定义使用gmock中的一个宏(Macro)MOCK_METHOD0来定义MockFoo中的getArbitraryString。Google Mock是需要你根据不同的形参个数来使用不同的Mock Method,我这里getArbitraryString没有函数,就是MOCK_METHOD0了,同理,如果是一个形参,就是MOCK_METHOD1了,以此往...
Process resource needs (memory: code, static storage, stack, heap, and also file descriptors, i/o) Thread resource needs (shares above (minus stack) with other threads in same process but each has its own pc, stack counter, registers and stack) Forking is really copy on write (read-only...