考虑这个被测试的课程:
class A
{
public:
bool isTrue();
void doSomething();
};
我想测试doSomething
在其实现中调用isTrue
。
但我也希望对isTrue
方法设定期望值。
谷歌测试是否有最佳实践如何模拟被测试类的方法?
答案 0 :(得分:4)
将我的评论转化为答案......
你可以使用一点点黑客。像这样定义派生类:
class B : public A {
public:
MOCK_METHOD0(isTrue, bool());
using A::doSomething;
};
这显然仅在isTrue
为virtual
时才有效。
注意:检查贵公司关于“专门用于测试的代码”的测试指南,而不是测试实际代码。在您的情况下(遗留代码库),这可能没问题。