HttpContextをパラメーターとして受け取るメソッドの単体テストをいくつか書いています。リクエストがPOSTの場合、動作が期待どおりであることをテストしたいと思います。
System.Net.HttpWebRequestを作成する場合、メソッドを設定するのは簡単ですが、HttpContextで使用されるSystem.Web.HttpRequestを作成するときに、メソッドを指定する方法がわかりません。
何か案は?
コンテキストの場合、メソッドは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);
}