【问题标题】:How do I TDD a custom membership provider and custom membership user?如何 TDD 自定义会员提供者和自定义会员用户?
【发布时间】:2008-10-29 00:01:18
【问题描述】:

我需要为 ASP.NET mvc 应用程序创建自定义会员用户和提供程序,并且我希望使用 TDD。我创建了一个继承自 MembershipUser 类的 User 类,但是当我尝试对其进行测试时,我得到了一个我无法弄清楚的错误。如何给它一个有效的提供者名称?我只需要将它添加到 web.config 中吗?但我现在还没有测试网络应用程序。

[失败] UserTests.SetUp.UserShouldHaveMembershipUserProperties 测试用例'UserTests.SetUp.UserShouldHaveMembershipUserProperties' failed: 指定的成员资格提供者名称无效。 参数名称:providerName System.ArgumentException 消息:指定的成员资格提供者名称无效。 参数名称:providerName 来源:System.Web

【问题讨论】:

    标签: c# asp.net authentication


    【解决方案1】:

    添加到您的单元测试项目配置文件的配置如下所示:

      <connectionStrings>
         <remove name="LocalSqlServer"/>
         <add name="LocalSqlServer" connectionString="<connection string>" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      <system.web>
         <membership defaultProvider="provider">
           <providers>
             <add name="provider" applicationName="MyApp" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" maxInvalidPasswordAttempts="3" passwordAttemptWindow="15"/>
           </providers>
         </membership>
      </system.web>
    

    【讨论】:

    【解决方案2】:

    是的,您需要在配置文件中进行配置(对于测试库,可能不是 web.config,而是 app.config)。您仍然使用该部分并在该部分内进行配置。一旦你有了它,你就可以实例化你的用户并开始测试它。到那时您可能会遇到新问题,我认为您应该将其作为单独的问题发布。

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多