【发布时间】:2012-10-17 22:48:34
【问题描述】:
我正在开发一个 ASP.NET MVC 应用程序。我正在使用自定义 MembershipProvider (MyCustomMembershipProvider) 来访问会员信息,因为我们已经有一个数据库,其中包含我需要使用的自己的架构。
我正在使用类似于 NerdDinner 2 示例的类,其中我有一个包含 MembershipProvider 的 AccountMembershipService(实现 IMembershipService),因此我可以注入不同的模拟提供程序。但是,我使用 CreateUser 和 ChangePassword 的几种不同方法扩展了 MyCustomMembershipProvider。这些方法在 MembershipProvider 中不可用,除非您知道它是自定义方法。
我是不是搞错了?我是否需要另一层作为包含我的新提供程序方法的接口?
【问题讨论】:
-
我是 MVC 和模拟测试的新手,所以我可能无法很好地解释这种情况。我有一个 AccountMembershipService,它将 MembershipProvider 作为构造函数中的参数。这样,当我运行应用程序时,传入的 MembershipProvider 是 MyCustomMembershipProvider……而当我在测试时,传入的 MembershipProvider 是 MockMembershipProvider。因此,当我在 AccountMembershipService 上调用 CreateUser 时,CreateUser 在 AccountMembershipServices 包含的 MembershipProvider 上不可用。
标签: asp.net-mvc mocking asp.net-membership