Moq是一个函数但无法访问参数

时间:2010-10-13 22:54:14

标签: c# moq

我有一个类构造一个新对象,以添加到我正在嘲笑的对象的内部状态......类似于

    public class foo
    {
        public bar raz;

        public foo(bar raz)
        {
            this.raz = raz;
        }

        public void InsertItem()
        {
            raz.Insert(new FooBar());
        }
    }

我想模拟raz,但无法弄清楚语法是否验证raz.Insert被调用,但它不需要匹配传递的参数(因为它在内部创建)。我该怎么办?

var mock = new Mock<bar>();
mock.Setup(mock => mock.Insert(?)).Verifiable();  //This is the line I can't figure out
var test(mock.Object);
test.InsertItem();
mock.VerifyAll(); 

1 个答案:

答案 0 :(得分:1)

使用:

mock.Setup(mock => mock.Insert(It.IsAny<FooBar>()));