我想使用具有函数Foo的Moq创建存根,该函数将存根实例推送到作为参数传递的列表中。我可以使用Callback<>()
方法来捕获列表,但是我无法从那里访问存根实例,是吗?
这是我到目前为止所得到的:
var stubPattern = new Mock<IBar>();
stubPattern.Setup(stub => stub.Foo(It.IsAny<List<IBar>>()))
.Callback<List<IBar>>(list => list.Add(stubInstance); // stubInstance not valid
是否有可能在Moq中做这样的事情?
答案 0 :(得分:5)
如果您想自己获取模拟实例,可以使用Object
属性。
stubPattern.Setup(stub => stub.Foo(It.IsAny<List<IBar>>()))
.Callback<List<IBar>>(list => list.Add(stubPattern.Object);