C# 需要更好地理解FakeHttpContext

C# 需要更好地理解FakeHttpContext,c#,asp.net-mvc,tdd,moq,C#,Asp.net Mvc,Tdd,Moq,我一直在复习这篇文章,我想真正深入地了解下面的代码是如何工作的。它看起来像泛型和扩展方法?为了真正理解下面的代码,我还应该熟悉哪些其他科目。为了理解本文中提到的整个代码库,我需要知道什么类型的主题(比如泛型、扩展方法?)。谢谢 public static HttpContextBase FakeHttpContext() { var context = new Mock<HttpContextBase>(); var request =

我一直在复习这篇文章,我想真正深入地了解下面的代码是如何工作的。它看起来像泛型和扩展方法?为了真正理解下面的代码,我还应该熟悉哪些其他科目。为了理解本文中提到的整个代码库,我需要知道什么类型的主题(比如泛型、扩展方法?)。谢谢

   public static HttpContextBase FakeHttpContext()
    {
        var context = new Mock<HttpContextBase>();
        var request = new Mock<HttpRequestBase>();
        var response = new Mock<HttpResponseBase>();
        var session = new Mock<HttpSessionStateBase>();
        var server = new Mock<HttpServerUtilityBase>();

        context.Setup(ctx => ctx.Request).Returns(request.Object);
        context.Setup(ctx => ctx.Response).Returns(response.Object);
        context.Setup(ctx => ctx.Session).Returns(session.Object);
        context.Setup(ctx => ctx.Server).Returns(server.Object);

        return context.Object;
    }
公共静态HttpContextBase FakeHttpContext()
{
var context=newmock();
var request=newmock();
var response=newmock();
var session=newmock();
var server=newmock();
Setup(ctx=>ctx.Request).Returns(Request.Object);
Setup(ctx=>ctx.Response).Returns(Response.Object);
Setup(ctx=>ctx.Session).Returns(Session.Object);
Setup(ctx=>ctx.Server).Returns(Server.Object);
返回context.Object;
}

它还使用lambda表达式


如果你不知道的话,他正在使用一个名为Moq的模拟库,所以你也应该去看看它,了解更多关于它的信息。

它也使用lambda表达式


如果你不知道的话,他正在使用一个名为Moq的模拟库,所以你也应该去它那里读更多关于它的内容。

那篇文章中有很多好东西,但很难知道如何回答你的问题。正如您所说的,在幕后使用、、肯定会在模拟库()中发生一些事情,并且在编写测试时一定会遇到扩展。所以所有这些可能都值得一读

这篇文章最终都是关于单元测试的,所以理解单元测试是什么,为什么它是好的,等等都会很有用,这是一本介绍这个主题的好书。然后是整个方法,您首先编写测试,然后在进行过程中修复它们,这样您也可以阅读这些测试(尽管我会说,只是尝试一下,看看您的进展如何)


所以,尝试一下,使用它,享受一些乐趣,你会在前进的过程中学到你需要知道的东西。

这篇文章中有很多好东西,但很难知道如何回答你的问题。正如您所说的,在幕后使用、、肯定会在模拟库()中发生一些事情,并且在编写测试时一定会遇到扩展。所以所有这些可能都值得一读

这篇文章最终都是关于单元测试的,所以理解单元测试是什么,为什么它是好的,等等都会很有用,这是一本介绍这个主题的好书。然后是整个方法,您首先编写测试,然后在进行过程中修复它们,这样您也可以阅读这些测试(尽管我会说,只是尝试一下,看看您的进展如何)

所以,尝试它,使用它,享受一些乐趣,你会在前进的过程中学到你需要知道的东西