Je suis en train d'écrire des tests unitaires pour une méthode qui prend un HttpContext comme paramètre. Je veux tester que le comportement est celui attendu lorsque la requête est un POST.
Lors de la création d'un System.Net.HttpWebRequest, il est facile de définir la méthode, mais je ne vois pas de moyen de spécifier la méthode lors de la création d'un System.Web.HttpRequest qui est ce qui est utilisé dans HttpContext.
Des idées ?
Pour le contexte, la méthode est appelée par un httphandler et elle est censée renvoyer un 405 si la requête n'est pas un POST. Je sais que je peux filtrer les méthodes autorisées avec la propriété Verbs dans le web.config, et je le ferai, mais rien n'empêche quelqu'un à l'avenir de modifier la propriété Verbs pour autoriser d'autres méthodes, auquel cas je veux que le gestionnaire s'en occupe lui-même.
Méthode d'aide actuellement utilisée :
private HttpContext GetHttpContext(string requestUrl)
{
var httpRequest = new HttpRequest("", requestUrl, "");
var stringWriter = new StringWriter();
var httpResponce = new HttpResponse(stringWriter);
return new HttpContext(httpRequest, httpResponce);
}