Как я могу провести модульное тестирование своего контроллера, чтобы убедиться, что Windsor может разрешать зависимости при использовании PerWebRequestLifestyle

В моем приложении есть следующий модульный тест:

    [TestMethod]
    public void Windsor_Can_Resolve_HomeController_Dependencies()
    {
        // Setup
        WindsorContainer container = new WindsorContainer();
        container.Install(FromAssembly.Containing<HomeController>());

        // Act
        container.Kernel.Resolve(typeof(HomeController));
    }

Смысл этого в том, чтобы убедиться, что у меня нет проблем с конфигурацией Windsor, которые я не осознаю, пока не получу доступ к действию на этом контроллере. Проблема в том, что все мои регистрации объектов зарегистрированы как PerWebRequestLifestyle , поэтому я не у меня возникают проблемы с тем, что мой контекст данных Entity Framwork используется совместно с веб-запросами (что вызывает ошибки при выполнении нескольких действий).

Однако всякий раз, когда я запускаю этот модульный тест, я получаю следующее исключение:

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

Как я могу протестировать этот сценарий, не меняя стиль жизни моих команд регистрации объекта?

14
задан KallDrexx 24 April 2011 в 18:49
поделиться