我正在使用正确的参数测试我的类是否调用了模拟类上的方法。我设置了一个基本的期望:
// mListener is a mocked object
// This expectation accepts any argument
EXPECT_CALL(this->mListener, OnChanged(_))
.Times(1);这很好,但我也想验证一下这个论点。它是一个只有使用输出参数的访问器的对象:
// aValue is an output parameter
HRESULT get_Value(int* aValue);如何定义一个匹配器来检查get_Value放入aValue中的值
发布于 2012-02-23 06:44:55
您可以尝试如下所示:
MATCHER_P(CheckValue,
expected_value,
std::string("get_Value ")
+ (negation ? "yields " : "doesn't yield ")
+ PrintToString(expected_value)
+ " as expected.") {
int result;
arg.get_Value(&result);
return expected_value == result;
}它可以通过执行以下操作来检查例如aValue == 7:
EXPECT_CALL(this->mListener, OnChanged(CheckValue(7)))
.Times(1);https://stackoverflow.com/questions/9401017
复制相似问题