Google 模拟,参数匹配器使用另一个参数

Google Mock, argument matcher using another argument

有什么方便的方法可以将一个参数与另一个参数(通配符)相匹配吗?例如:

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

有没有像SameAsArgument这样的匹配器?

更新:也许 SameAsArgument<N> 不是很好。我需要的是一个匹配器 Argument<N>,它将获取第 N 个参数的值。

谢谢!

是的,这可以按照他们食谱的 "Matching Multiple Arguments as a Whole" 章节中的解释来完成。

在你的情况下,应该是:

EXPECT_CALL(calculator_mock, division(_,_))
      .With(AllOf(Args<0, 1>(Eq())));