我正在为将 HttpContext 作为参数的方法编写一些单元测试。我想测试当请求是 POST 时行为是否符合预期。
创建 System.Net.HttpWebRequest 时,设置方法很容易,但在创建 HttpContext 中使用的 System.Web.HttpRequest 时,我看不到指定方法的方法。
有任何想法吗?
对于上下文,该方法由 httphandler 调用,如果请求不是 POST,则应该抛出 405。我知道我可以使用 web.config 中的 Verbs 属性过滤允许的方法,并且我会,但是没有什么可以阻止将来有人更改 verbs 属性以允许其他方法,在这种情况下我希望处理程序注意它本身。
当前使用的辅助方法:
private HttpContext GetHttpContext(string requestUrl)
{
var httpRequest = new HttpRequest("", requestUrl, "");
var stringWriter = new StringWriter();
var httpResponce = new HttpResponse(stringWriter);
return new HttpContext(httpRequest, httpResponce);
}