MvcContrib TestHelpers, по-видимому, не предоставляет полный объект HTTPContext.Server - PullRequest
0 голосов
/ 15 июля 2010

Итак, MvcContrib TestHelpers создает фиктивные версии следующих

  • HttpContext
  • HttpRequest
  • HttpResponse
  • HttpSession
  • Форма
  • TempData
  • QueryString
  • ApplicationPath
  • PathInfo

в поддельном контроллере при использовании такого типа кода

var _controller = new FooController();        
var _builder = new TestControllerBuilder();
_builder.InitializeController(_controller);

Но вы заметите, что они не создают поддельные / поддельные объекты сервера.Предположительно, есть веская причина, почему нет.Но я пытаюсь заглушить метод Server.MapPath (), потому что метод в моем SUT использует его и, конечно же, во время теста возвращает NULL.

TestHelpers использует насмешки rhino (v3.5) иЯ тоже. Я знаю синтаксис, чтобы заглушить метод, но как мне получить объект Server fake / mock в мой контроллер, чтобы я мог заглушить метод?

1 Ответ

0 голосов
/ 15 июля 2010

Класс HttpServerUtility запечатан, но Microsoft предоставляет абстрактную базу HttpServerUtilityBase, которую можно использовать для насмешки (и которую использует MVCContrib).Проблема Саймона из-за ошибки в MVCContrib.См .: Попытка заглушить Server.MapPath с помощью помощников MvcContrib Test и Rhino Mocks 3.5 для решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...