【问题标题】:Google Mock, argument matcher using another argumentGoogle Mock,使用另一个参数的参数匹配器
【发布时间】:2015-06-17 10:27:30
【问题描述】:

是否有任何方便的方法可以将一个参数与另一个参数(通配符)进行匹配?例如:

ON_CALL(calculator_mock, division(_, SameAsArgument<0>).WillByDefault(Return(1.0))

有像 SameAsArgument 这样的匹配器吗?

更新:也许SameAsArgument&lt;N&gt; 不是很好。我需要的是一个匹配器Argument&lt;N&gt;,它将获得第 N 个参数的值。

谢谢!

【问题讨论】:

  • 它应该做什么?
  • 对于calculator_mock.division(x, x) 应该返回1.0。 (第一个参数与第二个参数相同)

标签: c++ unit-testing mocking googlemock gmock


【解决方案1】:

是的,可以按照他们食谱的"Matching Multiple Arguments as a Whole" 章节中的说明进行操作。

在你的情况下,应该是:

EXPECT_CALL(calculator_mock, division(_,_))
      .With(AllOf(Args<0, 1>(Eq())));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多