HttpRequest in ASP.NET 4.0 verspotten
Ich habe eine Menge ähnlicher Threads gesehen, aber keine, die sich wirklich mit meiner speziellen Situation befassen.
Ich schreibe Komponententests in einer ASP.NET 4.0-Webanwendung (ASP.NET Forms, nicht MVC). Es gibt mehrere Stellen im Code, an denen ich das @ aufrufServerVariables
collection zum Aufrufen von Variablen wieREMOTE_ADDR
. Da meine Unit-Tests eigentlich nicht initiierenHttpRequests
bei der Ausführung meines Codes, Dinge wieServerVariables
sindNull
und daher Fehler beim Versuch, @ aufzurufHttpContext.Current.Request.ServerVariables("REMOTE_ADDR")
Alle Lösungen, die ich gefunden habe, um dieses Problem zu beheben, beziehen sich auf MVC und gehen daher davon aus, dassHttpRequest
kommt vonHttpRequestBase
, was in MVC aber nicht in ASP.NET Forms der Fall ist.
Ich habe versucht mitMoq
aber du kannst eine versiegelte Klasse nicht verspotten undHttpRequest
ist leider ohne Schnittstelle versiegelt.