GoogleTest:GMock初识
项目通常是多人并行开发的,有的时候需要使用别人开发的接口,但是在测试的时候却不一定都已经开发完成了,这个时候可以使用GMock进行模拟。
1.别人开发的接口
//not_ready_class.hpp
#include <string>class Person {
public:virtual std::string info() = 0;
};
2.使用别人的接口
//use_class.hpp
#include <iostream>
#include "not_ready_class.hpp"std::string getPersonInfo(Person* p)
{return p->info();
}
3.通过gmock模拟实现
//class_api_ut.cpp
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "use_class.hpp"class PersonMock : public Person {
public:MOCK_METHOD0(info, std::string());
};TEST(PersonMock, personInfo)
{PersonMock person;