1

コントローラーがMVC3の[Authorize]属性で装飾されていることをどのように模倣できるのでしょうか。カスタムメンバーシッププロバイダーを使用しています。コントローラーが属性で装飾されていて、許可されていることと、許可されていない場合はどうなるかをテストしたいと思います。私はMoqを使用しています。これについて何か良い提案はありますか?!

更新:現在、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というNullreferenceExceptionが発生しています。これは、AuthorizeAttributeの使用中にこの投稿で前述したNullReferenceExceptionと同じエラーです。

これは、Authorize属性に関連しています。私はiisで実行しており、カッシーニを使用していません。これがアプリケーションプールとユーザー権限に何らかの形で関連しているかどうかを誰かが知っていますか?これが修正されるまで、authorize属性に対して行ったテストは機能しません。

おそらく、Authorize属性をテストする他の方法がありますか?よろしくお願いします。

UPDATE2 それで、同僚からの広範な調査とデバッグの助けの後で、[Authorize]属性の問題を修正するために言及しました。web.configの次の行が欠落しているように見えます。

<modules runAllManagedModulesForAllRequests="true">

不思議なことに、これはトランクを共有している、またはベータ環境にいる別の同僚にとって問題を引き起こしませんでした。それは私にとってローカルでのみ問題を引き起こしました。これはGACの何かに関連している可能性があります。とにかくすべてが今動作します。

ありがとう。

4

1 に答える 1

1

私はちょうど数ヶ月前にそれについてのブログ投稿を書きました:

http://thomasardal.com/unit-testing-attribute-decorations/

于 2011-08-24T05:18:36.767 に答える