【发布时间】:2017-12-13 17:36:49
【问题描述】:
var callArgs = new List<string>();
mock.Setup(foo => foo.DoSomething(It.IsAny<string>()))
.Returns(true)
.Callback((string s) => callArgs.Add(s));
同样我们可以对 List 参数进行回调
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())) .Callback((IList sy, IList v,string str) => ex.AddRange(sy));
我在前列表中没有得到任何东西。
【问题讨论】:
-
你试过了吗?
-
我试过了……我遇到了错误:
-
无效回调。设置带参数的方法(IList
1,IList1,String)无法调用带参数的回调(List`1)。 -
那么
Foo()中的参数类型是IList<string>?如果是这样,您的回调类型必须与您的参数类型匹配
标签: c# unit-testing callback moq