Я пишу некоторые модульные тесты для метода, который использует HttpContext в качестве параметра. Я хочу проверить, что поведение ожидаемо, когда запрос является POST.
При создании System.Net.HttpWebRequest легко установить метод, но я не вижу способа указать метод при создании System.Web.HttpRequest, который используется в HttpContext.
Любые идеи?
Для контекста метод вызывается httphandler, и он должен вызывать 405, если запрос не является POST. Я знаю, что могу фильтровать допустимые методы с помощью свойства Verbs в файле web.config, но я не буду останавливать кого-то в будущем от изменения свойства глаголов, чтобы разрешить другие методы, в этом случае я хочу, чтобы обработчик выполнял его самого.
Вспомогательный метод, используемый в настоящее время:
private HttpContext GetHttpContext(string requestUrl)
{
var httpRequest = new HttpRequest("", requestUrl, "");
var stringWriter = new StringWriter();
var httpResponce = new HttpResponse(stringWriter);
return new HttpContext(httpRequest, httpResponce);
}