EXPECT_CALL的对话是什么?

时间:2015-07-24 13:43:28

标签: unit-testing mocking assert googletest gmock

我有一些期望,例如EXPECT_CALL (...)

EXPECT_CALL(t1, foo()).Times(1);

我想创建对面。 我希望某个功能不会被执行

我应该使用什么方法? 像EXPECT_NOT_CALL (...)

这样的东西

1 个答案:

答案 0 :(得分:7)

在GTest中,类似于EXPECT_NOT_CALL的东西不存在,但是有几个选项可以接收这种行为:

1.创建StrictMock。在StrictMock任何意外调用导致失败。

2.使用.Times(0)

EXPECT_CALL(t1, foo()).Times(0);

在此选项中,您使用计数机制,但它会检查值是否为0。(因此任何调用都会导致失败...)

3.使用方法2并创建Macro

#define EXPECT_NOT_CALL(a,b)     EXPECT_CALL(a, b).Times(0);