4

ASP.NET mvc アプリ用のカスタム メンバーシップ ユーザーとプロバイダーを作成する必要があり、TDD を使用したいと考えています。MembershipUser クラスを継承する User クラスを作成しましたが、それをテストしようとすると、エラーが発生してわかりません。有効なプロバイダー名を付けるにはどうすればよいですか? web.config に追加するだけでよいのでしょうか? ただし、現時点では Web アプリのテストすら行っていません。

[失敗] UserTests.SetUp.UserShouldHaveMembershipUserProperties TestCase 'UserTests.SetUp.UserShouldHaveMembershipUserProperties' が失敗しました: 指定されたメンバーシップ プロバイダー名が無効です。パラメーター名: providerName System.ArgumentException メッセージ: 指定されたメンバーシップ プロバイダー名が無効です。パラメーター名: providerName ソース: System.Web

4

2 に答える 2

7

単体テスト プロジェクトの構成ファイルに追加する構成は、次のようになります。

  <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>
于 2008-10-28T16:01:18.853 に答える
1

はい、構成ファイルで構成する必要があります (おそらく、テスト ライブラリの web.config ではなく、app.config)。引き続きセクションを使用し、そのセクション内で構成を行います。それができたら、ユーザーをインスタンス化してテストを開始できます。その時点で、別の問題として投稿する必要がある新しい問題に遭遇する可能性が高いと思います。

于 2008-09-16T20:48:06.183 に答える