Какой самый полный фреймворк для HttpContext - PullRequest
9 голосов
/ 26 августа 2010

Я ищу как можно более полную замену и оболочку для ASP.NET HttpContext в моих приложениях.Полная ложная замена может существенно повысить тестируемость моих веб-приложений на ASP.NET, не требуя миграции каждого приложения на более тестируемые фреймворки, такие как MVC.

Некоторые функции, которые мне больше всего интересны вHttpContext Оболочка и макет включают в себя:

  • Сериализованное хранилище сеансов (например, .Session).
  • Сериализованное хранилище в прикладной области (например, .Application).
  • Хранение элементов по запросу (например, .Items).
  • Данные HttpRequest, такие как рефереры, Uri запроса, переменные сервера, данные публикации и т. Д.
  • Данные HttpResponse,такие как коды состояния и содержимое.
  • Локальное разрешение файла (например, Server.MapPath)
  • VirtualPathUtility для разрешения пути URL-адреса приложения, которое зависит от времени выполнения ASP.NET.
  • Идентификатор и принципал (например, .User) для проверки правил аутентификации / авторизации.
  • Коллекция AllErrors для тестирования разрешения ошибок вHttpModule s и Global.asax.

Я подумал о написании собственного интерфейса, оболочки и макета;однако я считаю, что такое уже должно существовать.Разнообразие фальшивых фреймворков немного ошеломляет новичка.

Какую наиболее полную HttpContext оболочку и макет вы бы порекомендовали?

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Моя компания преуспела, просто создав интерфейсы для всех объектов http (IHttpRequest, IHttpResponse и т. Д.).

Это немного повторяется, но в основном нужны все методы и свойства интерфейса, затем создается конкретный типдля каждого, который принимает реальный тип в качестве параметра конструктора и передает все методы и свойства реальному объекту.

Затем вы можете с легкостью протестировать все, используя RhinoMocks или что-то еще.

1 голос
/ 27 августа 2010

Проверьте структуру moq . Это насмешливая структура, которую использует команда MVC, и многие (в том числе и я) считают, что она имеет самый низкий барьер для входа. Также ознакомьтесь с помощниками насмешек в проекте MvcContrib .

...