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

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

Linda Hamilton
Lepaskan: 2025-01-11 20:31:44
asal
170 orang telah melayarinya

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

Gunakan Moq untuk mensimulasikan HttpContext dalam ASP.NET MVC

Apabila cuba mensimulasikan HttpContext semasa menguji, anda mungkin menghadapi ralat yang menunjukkan bahawa sifat HttpContext ialah baca sahaja. Artikel ini akan memberikan penyelesaian kepada masalah ini dan menerangkan cara menggunakan Moq untuk mengejek HttpContext dan kebergantungannya.

Mengatasi isu baca sahaja

Dalam kelas HomeController, sifat HttpContext sememangnya baca sahaja. Walau bagaimanapun, adalah mungkin untuk menetapkan sifat ControllerContext, yang mengandungi HttpContext sebagai subproperty.

<code>controller.ControllerContext = new ControllerContext( context.Object, new RouteData(), controller );</code>
Salin selepas log masuk

Contoh

Kod berikut menunjukkan cara menetapkan HttpContext yang dipermainkan menggunakan Moq:

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

Lebih banyak sumber

Untuk butiran lanjut tentang mengejek RequestContext dan HttpContext, sila lihat sumber berikut:

Atas ialah kandungan terperinci Bagaimana untuk mengejek HttpContext dalam ASP.NET MVC Menggunakan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan