waa*_*919 3 unit-testing assert mocking googletest gmock
我有一些期望 EXPECT_CALL (...)
EXPECT_CALL(t1, foo()).Times(1);
Run Code Online (Sandbox Code Playgroud)
我想创造对面.我希望不会执行某个功能.
我应该使用什么方法?有点像EXPECT_NOT_CALL (...)?
但是在GTest EXPECT_NOT_CALL中存在类似于不存在的东西,有几个选项可以接收这种行为:
1.创建一个StrictMock.在StrictMock任何意外的召唤导致失败.
2.使用.Times(0):
EXPECT_CALL(t1, foo()).Times(0);
Run Code Online (Sandbox Code Playgroud)
在此选项中,您使用计数机制,但它会检查值是否为0.(因此任何调用都会导致失败...)
3.使用方法2创建一个Macro:
#define EXPECT_NOT_CALL(a,b) EXPECT_CALL(a, b).Times(0);
Run Code Online (Sandbox Code Playgroud)