我正在学习 Moq,我想模拟一个接口(interface) ISecureAsset,它具有一个属性 Contexts,它返回一个 SecurityContexts 列表。我正在测试访问 Contexts 属性以进行授权的另一个类上的方法。

public interface ISecureAsset {

   List<SecurityContext> Contexts { get; set; }
}

我怎样才能用 Moq 做到这一点?我也希望能够在 Contexts 列表中设置值。

最佳答案

只需设置该属性即可返回一个虚假的 SecurityContexts 列表。

var mockAsset = new Mock<ISecureAsset>();

var listOfContexts = new List<SecurityContext>();
//add any fake contexts here

mockAsset.Setup(x => x.Contexts).Returns(listOfContexts);

Moq quickstart guide 可能对您有所帮助。

10-08 02:17