HttpRuntime в VisualStudio UnitTest - PullRequest
       1

HttpRuntime в VisualStudio UnitTest

3 голосов
/ 17 февраля 2011

Могу ли я получить доступ к HttpRuntime в моем модуле Тестовый метод. Когда я пытаюсь получить доступ каждый раз, когда он показывает, что HttpRuntime не существует в текущем контексте. В моем целевом методе, который я хочу проверить доступ к переменной Cache


   HttpRuntime.Cache[key]; 

Возможно ли это? или я что-то здесь упускаю?

Спасибо

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Вы можете создать HttpContext внутри вашего модульного теста с помощью объекта SimpleWorkerRequest.

TextWriter writer = new StringWriter();
HttpWorkerRequest httpRequest = new SimpleWorkerRequest("virtualDir", "physicalDir", "page", "", writer);
HttpContext.Current = new HttpContext(httpRequest);
HttpContext.Current.Cache[key] = some value..
1 голос
/ 15 апреля 2011

Лучше всего было бы реорганизовать целевой метод, чтобы он не обращался к HttpRuntime напрямую, а вместо этого передавал эту информацию в качестве параметра или передавал ее интерфейсу, который обертывает HttpRuntime.Таким образом, вы можете сломать зависимость от HttpRuntime и значительно упростить тестирование.

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