Я видел много похожих тем, но ни один из них не касался моей конкретной ситуации.
Я пишу модульные тесты в веб-приложении ASP.NET 4.0 (формы ASP.NET, а не MVC). В коде есть несколько мест, где я вызываю коллекцию ServerVariables
для вызова переменных типа REMOTE_ADDR
. Поскольку мои модульные тесты на самом деле не запускают HttpRequests
при выполнении моего кода, такие вещи, как ServerVariables
, являются Null
и, следовательно, ошибка, когда я пытаюсь вызвать HttpContext.Current.Request.ServerVariables("REMOTE_ADDR")
Все решения, которые я нашел для решения этой проблемы, относятся к MVC, и поэтому они предполагают, что HttpRequest
происходит от HttpRequestBase
, что и в MVC, но не в ASP.NET Forms.
Я пытался использовать Moq
, но вы не можете смоделировать запечатанный класс, а HttpRequest
, к сожалению, запечатан без интерфейса.