MOQ C#回调我们可以获取回调参数的列表/集合


var callArgs = new List<string>();
mock.Setup(foo => foo.DoSomething(It.IsAny<string>()))
    .Returns(true)
    .Callback((string s) => callArgs.Add(s));

类似地,我们可以为列表参数做回调

var callArgs = new List<string>();
mock.Setup(foo => foo.DoSomething(It.IsAny<List<string>>()))
    .Returns(true)
    .Callback((List<string> s) => callArgs.AddRange(s));

如果不是这样,这是否可能?

var ex = new List();myrmock.setup(x => x.foo(it.isany>(),it.isany>(),it.isany())) 。

我没有在EX列表中获得任何东西。

是的,您可以完全按照您的描述。

或者您可以使用此格式:

var callArgs = new List<string>();
mock.Setup(foo => foo.DoSomething(It.IsAny<List<string>>()))
    .Returns(true)
    .Callback<List<string>>(s => callArgs.AddRange(s));

https://github.com/moq/moq4/wiki/quickstart

最新更新