我正在学习 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 可能对您有所帮助。