【发布时间】:2018-03-25 18:35:37
【问题描述】:
我的应用程序中有一个 CustomHttp 模块,用于删除不需要的响应标头,如下所示。
public class RemoveServerHeadersModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += OnPreSendRequestHeaders;
}
public void Dispose() { }
public void OnPreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("X-Powered-By");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
HttpContext.Current.Response.Headers.Remove("Server");
}
}
我需要为此编写单元测试。
尝试了以下几个但无法做到这一点,出现错误。
HttpRequest httpRequest = new HttpRequest("", "", "");
StringWriter stringWriter = new StringWriter();
HttpResponse httpResponse = new HttpResponse(stringWriter);
HttpContext httpContextMock = new HttpContext(httpRequest, httpResponse);
var application = new Mock<HttpApplication>();
application.Setup(ct => ct.Context).Returns(httpContextMock);
var module = new RemoveServerHeadersModule();
HttpApplication httpApplication = new HttpApplication();
module.Init(httpApplication);
module.OnPreSendRequestHeaders(httpApplication, EventArgs.Empty);
尝试在 HttpApplication 中设置上下文时出错。 请你帮帮我
【问题讨论】:
标签: asp.net-mvc unit-testing c#-4.0