如何 TDD 自定义会员资格提供商和自定义会员资格用户?
-
09-06-2019 - |
题
我需要为 ASP.NET mvc 应用程序创建自定义成员资格用户和提供程序,并且我希望使用 TDD。我创建了一个继承自 MembershipUser 类的 User 类,但是当我尝试测试它时,我收到一个我无法弄清楚的错误。我如何给它一个有效的提供者名称?我只需要把它添加到 web.config 中吗?但我现在还没有测试网络应用程序。
失败] usertests.setup.usershouldhouldHaveMembersHipuserProperties testCase'USERTESTS.SETUP.USERSHOULDHOULDHAVEMEMEMBESHIPESERPROPERTIES失败:指定的会员资格提供商名称无效。参数名称:providername system.argumentException消息:指定的会员资格提供商名称无效。参数名称:providername来源:系统.Web
解决方案
添加到单元测试项目配置文件中的配置将如下所示:
<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>
其他提示
是的,您需要在配置文件中配置它(可能不是测试库的 web.config,而是 app.config)。您仍然使用该部分以及该部分中的部分来进行配置。一旦完成,您将能够实例化您的用户并开始测试它。此时您可能会遇到新问题,我认为您应该将其作为单独的问题发布。
不隶属于 StackOverflow