![](/img/trans.png)
[英]google mock : how can I “ EXPECT ” that no method will be called on a mock
[英]How to Google Mock a method called from a struct
让我们来看这个例子:
Class A{
public:
int Get();
}
在另一个文件中:
A a;
struct B{
int res = a.Get();
}
我需要Google Mock Get方法,但是,我也需要调用真正的方法。 我尝试使用#ifdef,它似乎可以工作。 然后,我决定在#ifdef部分中对其进行模拟,但是它什么也没做。
#ifdef UNIT_TEST
MOCK_METHOD0(A,Get);
#else
int A::Get(){....}
#endif
我究竟做错了什么? 有没有更清洁的方法? 请,任何帮助将不胜感激。
你做错了 这是应该怎么做的:
1)头文件:
struct A
{
#ifdef UNIT_TEST
MOCK_METHOD0(Get, int());
#else
int Get();
#endif
};
2)源文件:
#ifndef UNIT_TEST
int A::Get()
{
// ...
}
#endif
头文件:
class A{
public:
int Get();
};
A a;
源文件:
int A::Get(){
....
}
struct B{
return res = a.Get();
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.