Googletest 使用gmock编写单元测试
考虑以下情况Googletest 使用gmock编写单元测试,googletest,googlemock,Googletest,Googlemock,考虑以下情况 class A { public: bool Init() { bool ret = false; /* code */ return ret; } }; A a_obj; class B { public: bool Foo() { if(a_obj.Init()) { cout<&l
class A
{
public:
bool Init()
{
bool ret = false;
/* code */
return ret;
}
};
A a_obj;
class B
{
public:
bool Foo()
{
if(a_obj.Init())
{
cout<< "X" ;
}
else
{
cout<< "Y" ;
}
}
}
class MockA
{
public:
METHOD0(Init, bool());
};
TEST(InitTest, CallFoo)
{
MockA mockobj;
B b_obj;
/* ???*/
}
A类
{
公众:
boolinit()
{
bool-ret=假;
/*代码*/
返回ret;
}
};
A_obj;
B类
{
公众:
布尔福()
{
if(a_obj.Init())
{
coutA
不必是B
的成员-它可以作为参数传递给Foo()
,默认值为A_obj
:
// A definition as before
A a_obj;
class B
{
public:
bool Foo(A& a = a_obj)
{
if(a.Init())
{
cout<< "X" ;
}
else
{
cout<< "Y" ;
}
}
}
//定义与前面一样
A_obj;
B类
{
公众:
bool Foo(A&A=A_obj)
{
if(a.Init())
{
库特