首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出参数的googlemock匹配器

输出参数的googlemock匹配器
EN

Stack Overflow用户
提问于 2012-02-23 02:45:42
回答 1查看 2.4K关注 0票数 4

我正在使用正确的参数测试我的类是否调用了模拟类上的方法。我设置了一个基本的期望:

代码语言:javascript
复制
// mListener is a mocked object
// This expectation accepts any argument
EXPECT_CALL(this->mListener, OnChanged(_))
    .Times(1);

这很好,但我也想验证一下这个论点。它是一个只有使用输出参数的访问器的对象:

代码语言:javascript
复制
// aValue is an output parameter
HRESULT get_Value(int* aValue);

如何定义一个匹配器来检查get_Value放入aValue中的值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-23 06:44:55

您可以尝试如下所示:

代码语言:javascript
复制
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

代码语言:javascript
复制
EXPECT_CALL(this->mListener, OnChanged(CheckValue(7)))
    .Times(1);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9401017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档