Контроллер модульного тестирования с зависимостью PerWebRequest LifeStyle - PullRequest
3 голосов
/ 05 января 2011

Я пытаюсь написать модульный тест для контроллера, который зависит от типа, стиль жизни которого - "PerWebRequest".

Замок выдает следующее исключение:

System.InvalidOperationException: HttpContext.Current равен нулю. PerWebRequestLifestyle можно использовать только в ASP.Net.

Могу ли я каким-то образом посмеяться над свойством HttpContext.Current, чтобы обойти это?

Я пытался использовать TestControllerBuilder MVCContrib для инициализации этого контроллера, но это не имеет никакого эффекта.

  SymptomTopicController controller = new SymptomTopicController();
        controller.WorkOrderFulfillment = workOrderFulfillment;

        TestControllerBuilder controllerBuilder = new TestControllerBuilder();
        controllerBuilder.InitializeController(controller);

Ответы [ 2 ]

7 голосов
/ 06 января 2011

You're doing it wrong

Абстрагируйте зависимость и не используйте контейнер в своих тестах.

1 голос
/ 05 января 2011

Вы видели этот вопрос: Макет HttpContext.Current в Test Init Method ?

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