(C#, Servicio WCF, burla de Rhino, MbUnit)que imita sin inyección
he estado escribiendo las pruebas de código ya en su lugar (sí sé que es al revés, pero así es como su funcionó en mi contrato vigente) He hecho un poco de refactorización para admitir burla: inyecciones, agregar interfaces adicionales, etc., lo que ha mejorado el diseño. En general, mi experiencia en pruebas ha ido bien (exponiendo la fragilidad y mejorando el desacoplamiento). Para cualquier objeto he estado creando los burdos dependientes y esto me sienta bien y tiene sentido.
La aplicación esencialmente tiene 4 capas físicas. La base de datos, una capa de repositorio para el acceso a los datos, un servicio WCF que está conectado al repositorio a través de una capa de gestión (o lógica comercial), por lo que desde arriba hacia abajo se ve así;
WCF Managers Repository Base de datos
Testing los gerentes y capa de repositorio ha sido bastante simple, el imitar las dependencias con Rhino Mocks e inyectarlas en la capa bajo prueba como tal.
Mi problema está en probar la capa superior de WCF. Como mi servicio no tiene el constructor que me permita inyectar las dependencias, no estoy seguro de cómo hago para burlarme de una dependencia al probar los métodos públicos (ServiceContracts) en el servicio.
Espero que tenga sentido y cualquier ayuda muy apreciada. Soy consciente de TypeMockIsolator, etc., pero realmente no quiero ir por esa ruta tanto por razones de presupuesto como por otras razones por las que no entraré aquí. Además, estoy seguro de que hay muchos "Stackers" inteligentes que tienen la información que necesito.
Gracias de antemano.
Gracias que suena como la ruta que necesito bajar. Gracias por el enlace ... muy útil. –
Gracias a todos por su ayuda. Si bien algunas de las respuestas fueron similares ... elegí esta como breve e indica una solución directa al problema. Gracias a todos de nuevo. –