私はMVCContribTesthelperを初めて使用し、Rhinoをあざける。
User.Identity.Name、Server.MapPath、およびFormCollectionに依存するコントローラーの単体テストについて支援が必要です。
私はから始めました
var controller = new SubmitController();
var builder = new TestControllerBuilder();
builder.InitializeController(controller);
User.Identity.Nameを設定するためのこの投稿を見つけました
controller.ControllerContext = TestHelper.MockControllerContext(controller).WithAuthenticatedUser("domain\\username");
この時点で、コントローラーでUser.Identityにアクセスできるようになりました。問題は、フォームコレクション変数を設定する方法になりました。設定
builder.Form.Add("testvar","1");
もう動作しません。今、私は経由でアクセスしなければならなかったようでした
controller.HttpContext.Request.Form.Add("testvar","1)
これは機能しているように見えましたが、この時点で、上記のbuilder(TestControllerBuilder)を使用していません。
次に、サーバーをモックする必要があり、さらに問題が発生しました。どうすればビルダーを使い続けることができますが、httpContext、HttpRequest、Serverなどにモックまたはスタブを使用できます。ビルダーにはHttpRequest、Serverなどの期待値を設定するメソッドがあると期待していました。
ありがとう