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

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

Linda Hamilton
リリース: 2025-01-11 20:31:44
オリジナル
130 人が閲覧しました

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

Moq を使用して ASP.NET MVC で HttpContext をシミュレートします

テスト時に HttpContext をシミュレートしようとすると、HttpContext プロパティが読み取り専用であることを示すエラーが発生する場合があります。この記事では、この問題の解決策を提供し、Moq を使用して HttpContext とその依存関係をモックする方法を説明します。

読み取り専用の問題を解決する

HomeController クラスでは、HttpContext プロパティは確かに読み取り専用です。ただし、HttpContext をサブプロパティとして含む ControllerContext プロパティを設定することは可能です。

<code>controller.ControllerContext = new ControllerContext( context.Object, new RouteData(), controller );</code>
ログイン後にコピー

次のコードは、Moq を使用してモックされた HttpContext を設定する方法を示しています。

<code>[TestMethod]
public void Home_Message_Display_Unknown_User_when_coockie_does_not_exist()
{
    var context = new Mock<httpcontextbase>();
    var request = new Mock<httprequestbase>();
    context
        .Setup(c => c.Request)
        .Returns(request.Object);
    HomeController controller = new HomeController();

    controller.ControllerContext = new ControllerContext( context.Object, new RouteData(), controller );

    ...
}</httprequestbase></httpcontextbase></code>
ログイン後にコピー

その他のリソース

RequestContext と HttpContext のモックの詳細については、次のリソースを参照してください:

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

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