HippoMocks在未指定期望值时抛出NotImplementedException
HippoMocks throws NotImplementedException when not specifying expectation
我正在研究对添加到现有代码中的单元测试使用mocking。为此,我使用了HippoMocks。这涉及到另一个类在我的mock上调用一些方法(这些方法都是虚拟的)。我想避免过度指定所有这些,但每当其他类在我的mock上调用我没有指定的函数时,HippoMocks就会不断抛出NotImplementedException
。
下面的代码暴露了我的问题。
void test()
{
class SimpleClassToMock
{
public:
virtual void memberFunction1() {}
virtual void memberFunction2() {}
};
MockRepository mocks;
// true or false here makes no difference.
mocks.autoExpect = true;
SimpleClassToMock* m = mocks.Mock<SimpleClassToMock>();
// I care about this function getting called.
mocks.ExpectCall(m, SimpleClassToMock::memberFunction1);
m->memberFunction1();
// HippoMocks fails on the next line by throwing NotImplementedException.
m->memberFunction2();
}
有什么方法可以告诉希波莫克不要在这里失败吗?我只想指定我关心的特定测试的期望值,而不是调用的每一件事。
PS:对于那些有嘲笑经历的人来说,我是不是认为这一切都错了?在这种情况下,过度指定测试不是问题/"你想要什么"吗?
为了避免过度指定,可以使用OnCall
允许它们被调用0-N次(可选地使用参数检查、顺序检查等)。
相关文章:
- 没有找到相关文章