В моем приложении есть следующий модульный тест:
[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
Как я могу протестировать этот сценарий, не меняя стиль жизни моих команд регистрации объекта?