맞춤형 멤버십 공급자와 맞춤형 멤버십 사용자를 TDD하려면 어떻게 해야 하나요?
-
09-06-2019 - |
문제
ASP.NET mvc 앱에 대한 사용자 지정 멤버십 사용자 및 공급자를 만들어야 하며 TDD를 사용하려고 합니다.MembershipUser 클래스에서 상속되는 User 클래스를 만들었으나 테스트하려고 하면 알 수 없는 오류가 발생합니다.유효한 공급자 이름을 지정하려면 어떻게 해야 합니까?web.config에 추가해야 합니까?하지만 지금은 웹 앱을 테스트하지도 않습니다.
실패] usertests.setup.usershouldhavemembersipuserProperties testcase 'usertests.setup.usershouldHaveMembersHipuserProperties'실패 :지정된 멤버십 공급자 이름이 잘못되었습니다.매개변수 이름:ProviderName System.ArgumentException 메시지 :지정된 멤버십 공급자 이름이 잘못되었습니다.매개변수 이름:ProviderName 소스 :시스템.웹
해결책
단위 테스트 프로젝트 구성 파일에 추가할 구성은 다음과 같습니다.
<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