如何模拟Moq Func <object,class =“”> Property {get; }

时间:2018-03-01 11:20:09

标签: c# unit-testing moq xunit

我遇到了使用Moq的嘲弄问题。

如何模拟此属性?

public interface ICommand {
    Func<object, Document> GetDocument { get; }
}

1 个答案:

答案 0 :(得分:1)

  

如何模拟此属性?

使用实际功能

鉴于

public interface ICommand {
    Func<object, Document> GetDocument { get; }
}

在测试中使用实际函数并从模拟接口返回

var mock = new Mock<ICommand>();

Func<object, Document> function = (object arg) => {
    //...code to return a document
};

mock.Setup(_ => _.GetDocument).Returns(function);

参考Moq Quickstart以更好地理解如何使用模拟框架。