这有点奇怪。我试图存根一个有参数的方法,我不关心参数是什么,所以我忽略了参数。它看起来像这样:
List<Foo> ignored;
A.CallTo(() => fake.Method(out ignored))
.Returns(something);
当像这样调用存根方法时,这没有任何问题:
List<Foo> target;
var result = service.Method(out target);
target
但是,它在预初始化时不起作用。例如:
List<Foo> target = new List<Foo>();
var result = service.Method(out target);
当我检查Tag
假货时,我可以看到输出参数正在被记录,<NULL>
所以我怀疑当输出目标已经设置为某个值时它们不匹配。我已经尝试ignored
在我的测试中设置为new List<Foo>()
并且也尝试过A<List<Foo>>.Ignored
,但都没有对结果产生任何影响。
所以我的问题是,如果 out 参数目标已经有一个值,是否有人知道如何存根带有 out 参数的方法?