Tengo el siguiente prueba de la unidad en mi solicitud:unidad de probar mi controlador para asegurarse de Windsor puede resolver las dependencias cuando se utiliza 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));
}
El punto de esto es para asegurarse de que no tengo cualquier problema de configuración de windsor del que no me percataré hasta que acceda a una acción en ese controlador. El problema es que todos mis registros de objetos están registrados como PerWebRequestLifestyle
, por lo que no tengo problemas con el contexto de datos de Entidad Framwork que se comparte entre las solicitudes web (lo que causa errores cuando se ejecutan varias acciones).
Sin embargo, cada vez que corro esta prueba de la unidad me sale el siguiente excepción:
System.InvalidOperationException: HttpContext.Current es nulo. PerWebRequestLifestyle solo se puede usar en ASP.Net
¿Cómo puedo hacer para probar este escenario sin cambiar el estilo de vida de mis comandos de registro de objetos?
Excelente, eso funcionó a la perfección :) – KallDrexx
Esto no funcionó para mí, sin embargo, esta respuesta SO hizo http://stackoverflow.com/questions/5781599/testing-castle-windsor-component-with-perwebrequest-lifestyle –