我正在为一个以HttpContext作为参数的方法编写一些单元测试.我想在请求是POST时测试行为是否符合预期.
在创建System.Net.HttpWebRequest时,很容易设置方法,但在创建System.Web.HttpRequest时,我无法看到指定方法的方法,这是HttpContext中使用的方法.
有任何想法吗?
对于上下文,该方法由httphandler调用,如果请求不是POST,则应该抛出405.我知道我可以使用web.config中的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);
}
Run Code Online (Sandbox Code Playgroud)