谷歌模拟函数改变参数值

Google Mock functions changing value of parameter

本文关键字:参数 改变 函数 模拟 谷歌      更新时间:2023-10-16

我试图模拟出一些代码,通过写入作为参数传递给函数的引用之一来返回信息。是否有一种很好的方法来模拟这种行为,以便我可以让测试代码确定将什么值写入该变量?

我做了一些研究,结果发现GMock有几个不错的选项。来自Google Mock Cheat Sheet

SetArgReferee<N>(value)
SetArgPointee<N>(value)

"赋值给第n个(从0开始)参数引用的变量"赋值给第n个(从0开始)参数所指向的变量&;分别。

您有相当多的选择。SetArgReferee(value)和setarpointee (value),正如Daniel在2015年指出的。

对于数组有SetArrayArgument(first, last)

或者你可以使用Invoke功能来调用你自己的函数并做你想做的事情:Invoke, InvokeWithoutArgs, InvokeWithoutArgs, InvokeArgument。

在Googlemock的备忘单页面的副作用和调用部分中阅读它们的描述。