google mock - 怎么说“必须使用某个参数调用一次函数,但可以使用不同的参数调用多次”?

Bob*_*Bob 8 c++ unit-testing googletest googlemock gmock

我需要检测给定的函数是否已使用一组特定的参数被精确调用一次。

EXPECT_CALL(Mock_Obj, func("abc")).Times(1)

但是可以使用不同的参数多次调用该函数。

我该如何表达?

Vla*_*sev 6

在 Google Mock 中,后来的期望会覆盖早期的期望(文档中的更多详细信息),因此您可以这样写:

EXPECT_CALL(Mock_Obj, func(_)).Times(AnyNumber());
EXPECT_CALL(Mock_Obj, func("abc")).Times(1);
Run Code Online (Sandbox Code Playgroud)