2012-02-10 45 views
0

我正在集成測試使用成員資格API的MVC控制器。我在下面添加了我的app.config。測試試圖運行,但是當他們調用api時,它們會返回null。我檢查了Membership對象,它不包含我的連接字符串,它包含來自machine.config的默認對象。它也沒有拿起我配置的應用程序名稱。在我看來,我的app.config有一個問題,即成員api沒有收到它的設置。單元測試成員資格

任何人都可以發現錯誤?

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 2012-02-10 13:34:36

回答

0

您的app.config將需要爲執行測試的應用程序更新。這是發佈的app.config適用於什麼?我知道這是一件基本的事情,但很多人都掛斷了測試運行者正在使用哪種配置。

+0

中包含成員資格和角色提供者部分,我在測試項目中添加了一個app.config。它拿起connectionStrings如果我做ConfigurationManager.ConnectionStrings [「blah」]。ConnectionString – Darthg8r 2012-02-10 13:21:29