Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk mengejek HttpContext dalam ASP.NET MVC dengan Moq?

Bagaimana untuk mengejek HttpContext dalam ASP.NET MVC dengan Moq?

DDD
Lepaskan: 2025-01-11 20:37:42
asal
252 orang telah melayarinya

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

Menggunakan Moq untuk Mengejek HttpContext dalam Aplikasi ASP.NET MVC

Mengejek HttpContext dalam ujian ASP.NET MVC menggunakan Moq memerlukan pendekatan yang sedikit berbeza. Memandangkan harta HttpContext pengawal anda ialah baca sahaja, anda perlu bekerja dengan induknya, ControllerContext. Dengan menetapkan ControllerContext, anda memastikan konteks olok-olok dihantar dengan betul kepada kaedah Initialize.

Begini cara anda boleh mengubah suai kaedah ujian anda:

<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>
Salin selepas log masuk

Kaedah ini memintas had baca sahaja HttpContext dan membolehkan ejekan yang berkesan. Untuk panduan lebih terperinci tentang mengejek HttpContext dan RequestContext dengan Moq, rujuk sumber berikut:

Atas ialah kandungan terperinci Bagaimana untuk mengejek HttpContext dalam ASP.NET MVC dengan Moq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan