如何使用结构图
对类的属性进行依赖注入public class ContactController : Controller
{
public IContactService Service { get; set; }
public ContactController()
: this(null,null)
{
}
[SetterProperty]
public MembershipProvider Provider { get; private set; }
}
这里当我创建ContactController的实例时,我希望将提供者设置为Mock<MembershipProvider>
,请帮助我如何去做这个? Mock是Moq Framework类
答案 0 :(得分:2)
如果您使用Mock,则最有可能编写测试代码。如果是这种情况,您可能不需要像StructureMap这样的依赖注入工具。只需在您的测试设置代码中手动将Provider属性设置为MembershpProvider。
controller.Provider = Mock<MembershipProvider>
如果您真的想使用StructureMap配置setter注入,请参阅以下答案: Property Injection into an Action Filter