ホームページ > バックエンド開発 > C++ > Moq を使用して ASP.NET MVC で HttpContext をモックする方法は?

Moq を使用して ASP.NET MVC で HttpContext をモックする方法は?

DDD
リリース: 2025-01-11 20:37:42
オリジナル
252 人が閲覧しました

How to Mock HttpContext in ASP.NET MVC with Moq?

Moq を使用して ASP.NET MVC アプリケーションで HttpContext をモックする

Moq を使用して ASP.NET MVC テスト内で

をモック HttpContext するには、少し異なるアプローチが必要です。 コントローラーの HttpContext プロパティは読み取り専用であるため、その親である ControllerContext を操作する必要があります。 ControllerContext を設定すると、モックされたコンテキストが Initialize メソッドに正しく渡されるようになります。

テストメソッドを変更する方法は次のとおりです:

<code class="language-csharp">[TestMethod]
public void Home_Message_Display_Unknown_User_when_cookie_does_not_exist()
{
    var mockHttpContext = new Mock<HttpContextBase>();
    var mockHttpRequest = new Mock<HttpRequestBase>();
    mockHttpContext
        .Setup(c => c.Request)
        .Returns(mockHttpRequest.Object);

    var controller = new HomeController();
    // Set the ControllerContext, not the HttpContext directly
    controller.ControllerContext = new ControllerContext(mockHttpContext.Object, new RouteData(), controller);
    // ... rest of your test code
}</code>
ログイン後にコピー

このメソッドは、HttpContext の読み取り専用制限をバイパスし、効果的なモックを可能にします。 Moq を使用した HttpContextRequestContext のモックに関する詳細なガイダンスについては、次のリソースを参照してください:

以上がMoq を使用して ASP.NET MVC で HttpContext をモックする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート