首頁 > 後端開發 > 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屬性確實是唯讀的。但是,可以設定ControllerContext屬性,該屬性包含HttpContext作為子屬性。

<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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板