1

私は MVC4 アプリケーションに取り組んでおり、一連のコントローラー単体テストの作成に興味があります。AccountController からメソッドを単体テストしようとするすべての試みは、関連する同じ例外で終わりますWebMatrix.WebData.WebSecurity:

このメソッドを呼び出すには、「Membership.Provider」プロパティが「ExtendedMembershipProvider」のインスタンスである必要があります。

SimpleMemebership初期化されているプロバイダーを使用していますInitializeSimpleMembershipAttribute

誰かがこれを適切に行うためのガイダンスを提供できますか?

4

1 に答える 1

1

これはコメントでひどく醜くなるので、回答としてドロップします。私がしたことは、テスト プロジェクトにメンバーシップ プロバイダーを追加することです。カスタム メンバーシップ プロバイダーがありますが、あなたの場合、app.config は次のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear/>
        <add name="SimpleMembershipProvider"
             type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
      </providers>
    </membership>
  </system.web>
</configuration>

おそらく、WebMatrix の参照が見つからないという苦情が寄せられるでしょう。次の参照を追加します。

  • WebMatrix.Data
  • WebMatrix.WebData

ローカルへのコピーを に設定しますtrue

次に、 に電話して、準備ができていることを確認してくださいWebSecurity.InitializeDatabaseConnection

お役に立てれば。

于 2013-03-25T13:44:01.223 に答える