Estoy tratando de probar una clase en un código Java que he heredado.¿Cómo se prueba una clase derivada de una clase base con muchas dependencias?
El problema es que se deriva de una clase que es parte del trabajo de la aplicación de la compañía. En la construcción, la clase base hace todo tipo de cosas 'inteligentes', iniciando conexiones a todo tipo de servicios que se necesitan en tiempo de ejecución.
Pero para fines de pruebas unitarias no necesito nada de eso. Solo necesito crear una instancia de la clase derivada y luego puedo ejercitarla. Si alguna prueba necesita específicamente parte de la jerarquía, puedo burlarme de ellas.
Entonces, ¿cómo puedo romper esta dependencia?
Creo que Guice es el mejor marco DI, Spring es también Java 1.4. – IAdapter
Java 1.4? Con la configuración por anotación? No tan. Sería justo señalar que fue concebido como una respuesta a las deficiencias en J2EE y EJB 2.0, pero "también Java 1.4" no es correcto. Guice puede ser un buen marco DI, pero Spring es mucho más que eso. Es persistencia, mensajería, comunicación remota y mucho más construido sobre DI y AOP. – duffymo