gmock简单实例

来源:互联网 发布:大数据人才需求 编辑:程序博客网 时间:2024/06/10 19:03
    #include <gtest/gtest.h>      #include <gmock/gmock.h>      using namespace testing;      class A {    public:      int set(int num) {            value = num;            return num;      }      int get() {        return value;      }      int value;    };    class MockA : public A {    public:      MOCK_METHOD1(set, int(int num));      MOCK_METHOD0(get, int());    };    TEST(Atest, getnum)      {          MockA m_A;          int a = 10;        EXPECT_CALL(m_A, set(_)).WillRepeatedly(Return(a));        int k = m_A.set(200);        EXPECT_EQ(10, k);      }    int main(int argc, char *argv[]) {      ::testing::InitGoogleTest(&argc, argv);      return RUN_ALL_TESTS();    }

编译
g++ 1.cpp -o 1 -lgtest -lgmock -lpthread

详细说明可参考github