gpt4 book ai didi

c# - RhinoMocks - 获取被调用函数的参数

转载 作者:可可西里 更新时间:2023-11-01 08:42:18 24 4
gpt4 key购买 nike

使用 RhinoMocks - 我可以获取被调用函数的参数吗?我是说;我可以从函数调用中获取一些未知参数吗?

我有一个模拟,我希望在这个模拟上调用一些函数。我知道其中一个参数,但另一个参数是未知的,因为它来自使用模拟并在其上调用函数的类。更具体地说——在这种情况下——未知参数是一个 lambda 函数。这是一个回调函数,应该在函数完成执行时调用。由于模拟阻止调用回调,我想获取它并自己调用它。

所以;我想检查函数是否被调用。我想确保一些论点是预期的。我想找出未知的参数,然后再对它们进行一些操作。

假设两个参数都是整数(为简单起见)我想做这样的事情:

int unknownInt; 
_fakeSomething.AssertWasCalled(factory => factory.Foo(1, out unknownInt));
// then play around with unknownInt..

这能做到吗?我看到有一个 Arg.Out,但不能让它正常工作..

注意:更新了问题,因为它似乎具有误导性。

最佳答案

Arg<string>.Matches(arg => you got the argument here...);

更新:

获取在 _fakeSomething 上第一次调用 Foo 方法时生成的第二个参数:

string someArg = null;
var args = _fakeSomething.GetArgumentsForCallsMadeOn(
x => x.Foo(0, 0),
x => x.IgnoreArguments()
);
var int = (int)args[0][1];

关于c# - RhinoMocks - 获取被调用函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2056414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com