맞춤형 멤버십 공급자와 맞춤형 멤버십 사용자를 TDD하려면 어떻게 해야 하나요?

StackOverflow https://stackoverflow.com/questions/76781

  •  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).여전히 섹션과 그 섹션 내에서 구성을 수행하는 데 사용됩니다.일단 해당 위치에 있으면 사용자를 인스턴스화하고 테스트할 수 있습니다.어느 시점에서 새로운 문제가 발생할 가능성이 높으며 별도의 질문으로 게시해야 한다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top