从默认的ASP.Net MVC 4应用程序项目中对AccountController进行单元测试

时间:2013-03-24 20:54:57

标签: unit-testing asp.net-mvc-4 simplemembership

我正在研究MVC4应用程序并且有兴趣创建一组控制器单元测试。我对来自AccountController的单元测试方法的所有尝试都以与WebMatrix.WebData.WebSecurity:

相关的相同异常结束

要调用此方法,“Membership.Provider”属性必须是“ExtendedMembershipProvider”的实例。

我正在使用通过SimpleMemebership

初始化的InitializeSimpleMembershipAttribute提供程序

有人可以提供如何正确执行此操作的指导吗?

1 个答案:

答案 0 :(得分:1)

我会放弃它作为答案,因为这会在评论中变得非常难看。我所做的是在我的测试项目中添加一个成员提供者。我有一个自定义成员资格提供程序,但在您的情况下,app.config看起来像这样:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear/>
        <add name="SimpleMembershipProvider"
             type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
      </providers>
    </membership>
  </system.web>
</configuration>

您可能会对缺少WebMatrix的引用抱怨。添加以下参考:

  • WebMatrix.Data
  • WebMatrix.WebData

将副本设置为true的本地。

然后确保拨打WebSecurity.InitializeDatabaseConnection,你就可以了。

希望这有帮助。