2012-02-10 4 views
0

저는 멤버쉽 API를 사용하는 MVC 컨트롤러를 테스트하고 있습니다. 아래 app.config를 추가했습니다. 테스트는 실행하려고하지만 API 호출을하면 null이 반환됩니다. Membership 개체를 검사하고 연결 문자열을 포함하지 않으며 machine.config에서 제공되는 기본 문자열을 포함합니다. 또한 구성된 응용 프로그램 이름을 선택하지 않습니다. 내 ap.config가 설정을 선택하지 않는 지점으로 내 app.config에 문제가있는 것으로 보입니다.유닛 테스트 멤버십

누구든지 오류를 발견 할 수 있습니까?

var usr = Membership.GetUser(AValidGuid); This is always null!!!! 


<?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
     <configSections> 
     <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web" /> 
     <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web" /> 
     </configSections> 
     <connectionStrings> 
     <add connectionString="server=;user id=;password=;database=" name="SqlProvider" /> 
     </connectionStrings> 

     <membership defaultProvider="AspNetSqlMembershipProvider"> 
     <providers> 
      <remove name="AspNetSqlMembershipProvider"></remove> 
      <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="SqlProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/test" /> 
     </providers> 
     </membership> 
     <roleManager enabled="true" defaultProvider="AspNetSqlProvider"> 
     <providers> 
      <remove name="AspNetSqlRoleProvider"></remove> 
      <add connectionStringName="SqlProvider" applicationName="/test" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </providers> 
     </roleManager> 
</configuration> 
+1

아하! 의 멤버 및 역할 공급자 섹션을 감추는 것을 잊었습니다. – Darthg8r

답변

0

테스트를 실행하는 응용 프로그램에 대해 app.config를 업데이트해야합니다. 게시 된 app.config가 적용되는 것입니까? 나는 그것이 기본적인 것임을 압니다. 그러나 많은 사람들이 설정이 테스트 러너에 의해 활용되고있는 것에 매달려 있습니다.

+0

테스트 프로젝트에 app.config를 추가했습니다. 그것은 내가 ConfigurationManager.ConnectionStrings [ "blah"] 할 경우 connectionStrings를 선택합니다. – Darthg8r