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())));
有什么方便的方法可以将一个参数与另一个参数(通配符)相匹配吗?例如:
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())));