0

我一直在查看hanselman 的文章,我想真正深入了解以下代码的工作原理。它看起来像泛型和扩展方法?我应该熟悉哪些其他主题才能真正理解以下代码。为了理解文章中提到的整个代码库,我需要知道什么类型的主题(如泛型、扩展方法???)。谢谢

   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;
    }
4

2 回答 2

3

那篇文章中有很多好东西,但很难知道如何回答你的问题。正如你所说,使用了泛型扩展方法lambda表达式,在幕后肯定会在那个模拟库( moq )中进行一些反思,当你开始写作时,你肯定会在某个时候遇到linq扩展。测试。所以所有这些可能都值得一读。

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

所以,试试吧,使用它,找点乐子,你会学到你需要知道的东西。

于 2012-05-03T16:09:05.720 回答
0

它还使用 lambda 表达式。

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

于 2012-05-03T16:06:06.487 回答