Update:
Основываясь на нескольких ответах, которые я получил, я просто хочу пояснить, что я хорошо знаю, как смеяться над HttpContext, используя насмешливую структуру. Мне больше интересно узнать, какие плюсы и минусы издевательского HttpContext сравниваются с использованием классов-оболочек вокруг HttpContext.
Я ищу мнения о том, как обращаться с HttpContext при создании тестируемых контроллеров в ASP.Net MVC. После прочтения на нем, кажется, есть две школы мысли - либо постройте HttpContextBase, либо используйте фальшивую фреймворк для создания необходимых заглушек/макетов для вашего модульного тестирования или сборки классов агностических оболочек в областях HttpContext, которые вы намереваетесь использовать.
Сейчас я склоняюсь к созданию HttpContextBase. Похоже, что это как более быстрый процесс разработки, так и более простой в обслуживании, поскольку вам не нужно тратить время на разработку и поддержку дополнительных классов-оболочек. Я вижу, как классы-оболочки могут быть полезными, поскольку они абстрагируют скрытую реализацию и сохраняют контекст контроллера отдельно от запроса, но я не уверен, что это стоит дополнительных накладных расходов для настройки и обслуживания.
Что вы считаете "за" и "против" между этими двумя подходами, и когда вы выбираете один за другим? Существуют ли определенные типы развития, которые поддаются одному из решений больше, чем другому?
Как кажется, это общая проблема, с которой приходится сталкиваться с большинством команд, которые тестируют модульное тестирование и использует ASP.Net MVC, как бы вы или вы справились с этой проблемой? Если вы решили эту проблему, как ваше решение работало и что бы вы поступили иначе?