Tengo problemas para usar Moq en un proyecto UnitTesting con Ninject.Burlando de un objeto con Moq, usando Ninject al hacer UnitTesting
Primero algunas líneas sobre mi solución. Contiene varios proyectos (BussinesLogic, DAL, Infraestructura ...). Mi objetivo es UnitTest la lógica que estoy usando en el proyecto BussinessLogic. La solución es básica para un servicio de Windows, pero he incluido la lógica para que pueda ejecutarse de manera independiente. Estoy usando Ninject y especifico el clima que quiero usar ProductionModule o TestingModule (el servicio de Windows usa ProductionModule, la aplicación de consola usa TestingModule)
Estoy usando un patrón de fábrica para obtener kernel ninject cada vez que lo necesito dentro de mi solicitud.
Mi TestingModule hereda de NinjectModule donde anulo el método Load() y allí hago el enlace. Por ejemplo:
Bind<IStorageManager>().To<StubStorageManager>();
tengo el StubStorageManager pero es vacío. Contiene solo la declaración de métodos de IStorageManager.
Lo que me gustaría hacer es (en términos simples): Crear un UnitTest donde crearía un nuevo kernel especificando el TestingModule como su parámetro. Entonces me gustaría crear un objeto simulado (digamos un simulacro de IStorageManager) storageManagerMock. Algún método en IStorageManager devuelve un messageObject así que probablemente necesite burlarse de eso también, porque la lógica de negocios está haciendo algo basado en ese messageObject. Así que me gustaría establecer de alguna manera las propiedades de ese objeto de mensaje y luego llamar a algún método de BusinessLogic, así puedo ver si la lógica funciona correctamente.
Espero no haberlo complicado demasiado.
Ten paciencia conmigo, soy completamente nuevo en la inyección de burla y dependencia, pero estoy dispuesto a aprender.
Posible duplicado: http://stackoverflow.com/questions/1465849/using-ioc-for-unit-testing –