在 nsubstitute 模拟中生成 lambda 表达式
Generating lambda expressions in nsubstitute mocking
我正在尝试获取一个 NSubstitue 对象,我必须使用另一个来模拟一个函数。 (例如,我想要一个标识函数获取单个字符串,然后 returning 它)
假设我有一个 class foo 函数 bar 得到一个单一的 int,并且 returning 一个单一的 int,我将如何创建一个模拟它 return每个输入的值?
特别是给定一个接口:
public interface ifoo
{
public int func(int x) { ... }
}
我可以使用 NSubstitute 创建它的模拟,并为每个 x 使函数 func returh,那个 x 吗? (即 f(x) = x)
可以用CallInfo
到return第一个位置的参数
var subst = Substitute.For<ifoo>();
subst.func(Arg.Any<int>()).Returns(info => info.ArgAt<int>(0));
var test = subst.func(10);
我正在尝试获取一个 NSubstitue 对象,我必须使用另一个来模拟一个函数。 (例如,我想要一个标识函数获取单个字符串,然后 returning 它)
假设我有一个 class foo 函数 bar 得到一个单一的 int,并且 returning 一个单一的 int,我将如何创建一个模拟它 return每个输入的值?
特别是给定一个接口:
public interface ifoo
{
public int func(int x) { ... }
}
我可以使用 NSubstitute 创建它的模拟,并为每个 x 使函数 func returh,那个 x 吗? (即 f(x) = x)
可以用CallInfo
到return第一个位置的参数
var subst = Substitute.For<ifoo>();
subst.func(Arg.Any<int>()).Returns(info => info.ArgAt<int>(0));
var test = subst.func(10);