0

我想使用 hippomock 来模拟类中的方法。该方法由同一类中的另一个方法调用。如...

class Foo {
public:
Foo() {}
  virtual ~Foo() {}

  virtual string getName() {
    return "Joe";
  }

  virtual void print() {
    std::cout<<"Name is "<<getName()<<std::endl;
  }
};

int main() {
  std::cout<<"test mocking classes()..."<<std::endl;

  MockRepository mocks;
  Foo* pFoo = mocks.Mock<Foo>();
  mocks.ExpectCall(pFoo, Foo::getName).Return("John");
  pFoo->print();

  return 0;
}

测试模拟类()...

在抛出 'HippoMocks::NotImplementedException' 的实例后调用终止 what(): 函数调用没有预期!

知道为什么我不能模拟这样的方法吗?

http://hippomocks.com/Main_Page上的示例看起来与我的几乎相同,所以我认为应该支持?

谢谢,G

4

1 回答 1

0

我从 hippomocks 的工作原理中了解到的是它覆盖了你类中的所有虚函数,所以异常可能是由于调用了意想不到的print()

于 2017-11-27T22:35:42.737 回答