У меня есть следующее unit test в моем приложении:
[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 Framery разделяется между веб-запросами (что вызывает ошибки при выполнении нескольких действий).
Однако всякий раз, когда я запускаю этот unit test, я получаю следующее исключение:
System.InvalidOperationException: HttpContext.Current имеет значение null. PerWebRequestLifestyle можно использовать только в ASP.Net
Как я могу протестировать этот сценарий без изменения образа моих команд регистрации объектов?