structuremap属性注入

时间:2010-10-16 22:37:34

标签: dependency-injection mocking structuremap

如何使用结构图

对类的属性进行依赖注入
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类

1 个答案:

答案 0 :(得分:2)

如果您使用Mock,则最有可能编写测试代码。如果是这种情况,您可能不需要像StructureMap这样的依赖注入工具。只需在您的测试设置代码中手动将Provider属性设置为MembershpProvider。

controller.Provider = Mock<MembershipProvider>

如果您真的想使用StructureMap配置setter注入,请参阅以下答案: Property Injection into an Action Filter