我想测试一下,在一些失败的情况下,没有方法将被调用的模拟对象,使用谷歌模拟。所以代码应该是这样的:
auto mockObj = new MockObj;
EXPECT_NO_METHOD_CALL(mockObj); // this is what I'm looking for
auto mainObj = new MainObj(mocObj , ......and other mocks); // here I simulate a fail using the other mock objects, and I want to be sure the no methods are called on the mockObj
4条答案
按热度按时间6tqwzwtp1#
不需要显式地告诉将不调用任何方法。如果您将日志记录级别设置得足够高,那么如果调用了一个方法(如果没有设置期望值),您应该会收到一条消息。
除此之外,你可以这样设定期望:
所有方法。
tpgth1q72#
创建
StrictMock
;任何意外的方法调用都将失败。e4eetjau3#
对所有的类方法使用精确(0)。
基数将被设置为零,因此您不期望任何调用
fkvaft9z4#
您也可以使用
StrictMock
代替NiceMock
。在任何“不感兴趣”的调用中,也就是说,每当调用了mock的方法,但没有定义EXPECT_CALL
时,这都将失败。参见Google Mock文档here。