4

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

[失败] UserTests.SetUp.UserShouldHaveMembershipUserProperties TestCase 'UserTests.SetUp.UserShouldHaveMembershipUserProperties' 失败:指定的成员资格提供程序名称无效。参数名称:providerName System.ArgumentException 消息:指定的成员资格提供程序名称无效。参数名称:providerName 来源:System.Web

4

2 回答 2

7

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

  <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>
于 2008-10-28T16:01:18.853 回答
1

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

于 2008-09-16T20:48:06.183 回答