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的模拟库,所以你也应该去它那里读更多关于它的内容。那篇文章中有很多好东西,但很难知道如何回答你的问题。正如您所说的,在幕后使用、、肯定会在模拟库()中发生一些事情,并且在编写测试时一定会遇到扩展。所以所有这些可能都值得一读 这篇文章最终都是关于单元测试的,所以理解单元测试是什么,为什么它是好的,等等都会很有用,这是一本介绍这个主题的好书。然后是整个方法,您首先编写测试,然后在进行过程中修复它们,这样您也可以阅读这些测试(尽管我会说,只是尝试一下,看看您的进展如何)
所以,尝试一下,使用它,享受一些乐趣,你会在前进的过程中学到你需要知道的东西。这篇文章中有很多好东西,但很难知道如何回答你的问题。正如您所说的,在幕后使用、、肯定会在模拟库()中发生一些事情,并且在编写测试时一定会遇到扩展。所以所有这些可能都值得一读 这篇文章最终都是关于单元测试的,所以理解单元测试是什么,为什么它是好的,等等都会很有用,这是一本介绍这个主题的好书。然后是整个方法,您首先编写测试,然后在进行过程中修复它们,这样您也可以阅读这些测试(尽管我会说,只是尝试一下,看看您的进展如何) 所以,尝试它,使用它,享受一些乐趣,你会在前进的过程中学到你需要知道的东西