J'essaie de tester une classe dans un code Java dont j'ai hérité.Comment tester unitairement une classe dérivée d'une classe de base avec beaucoup de dépendances?
Le problème est qu'il dérive d'une classe qui fait partie de l'application framwwork de l'entreprise. Lors de la construction, la classe de base fait toutes sortes de choses «intelligentes», en initialisant les connexions à tous les types de services nécessaires à l'exécution. Mais à des fins de tests unitaires, je n'ai pas besoin de cela. J'ai juste besoin de créer une instance de la classe dérivée et ensuite je peux l'excercer. Si un test nécessite spécifiquement une partie de la hiérarchie, je peux me moquer d'eux.
Alors, comment puis-je briser cette dépendance?
Je pense que Guice est le meilleur framework DI, le printemps est aussi Java 1.4. – IAdapter
Java 1.4? Avec configuration par annotation? Pas si. Il serait juste de souligner qu'il a été conçu comme une réponse aux lacunes de J2EE et EJB 2.0, mais "trop Java 1.4" n'est pas correct. Guice est peut-être un bon cadre de DI, mais le printemps est bien plus que cela. C'est la persistance, la messagerie, l'accès à distance, et beaucoup plus construit sur DI et AOP. – duffymo