【发布时间】:2018-09-06 17:12:49
【问题描述】:
public class Business {
protected List<BusinessRulesDto> BusinessRules { get; set; }
}
我试过了:
businessMockObject.Protected().SetupSet<List<BusinessRulesDto>>("BusinessRules", ItExpr.IsAny<List<BusinessRulesDto>>()).Verifiable();var businessRulesDtoList = Builder<BusinessRulesDto>.CreateListOfSize(2).Build().ToList(); businessMockObject.Protected().SetupGet<List<BusinessRulesDto>>("BusinessRules").Returns(businessRulesDtoList); businessMockObject.Protected().SetupSet<List<BusinessRulesDto>>("BusinessRules", ItExpr.IsAny<List<BusinessRulesDto>>()).Verifiable();
我尝试了很多东西,但都没有成功。我可以模拟受保护的方法,但不能模拟受保护的属性。
如何模拟受保护的属性?
【问题讨论】:
-
你总是可以通过反射设置对象。这是关于如何做到这一点的答案stackoverflow.com/questions/1565734/…
-
@Tobias,为什么会这样?为什么模拟受保护的属性意味着架构的弱点?
标签: c# unit-testing moq nbuilder