Ich versuche, eine Klasse in einigen Java-Code zu testen, die ich geerbt habe.Wie Unit-Test eine Klasse von einer Basisklasse mit vielen Abhängigkeiten abgeleitet?
Problem ist, dass es von einer Klasse ableitet, die Teil der Anwendung Framwork des Unternehmens ist. Bei der Konstruktion führt die Basisklasse alle möglichen "cleveren" Dinge aus und initialisiert Verbindungen zu allen Arten von Diensten, die zur Laufzeit benötigt werden.
Aber für Unit-Testzwecke brauche ich nichts davon. Ich muss nur eine Instanz der abgeleiteten Klasse erstellen und dann kann ich sie trainieren. Wenn ein Test speziell einen Teil der Hierarchie benötigt, kann ich sie nachahmen.
Also, wie kann ich diese Abhängigkeit brechen?
Ich denke, Guice ist das beste DI-Framework, Spring ist auch Java 1.4. – IAdapter
Java 1.4? Mit Konfiguration durch Annotation? Nicht so. Es wäre fair, darauf hinzuweisen, dass es als Antwort auf Mängel in J2EE und EJB 2.0 konzipiert wurde, aber "zu Java 1.4" ist nicht korrekt. Guice mag ein guter DI-Rahmen sein, aber der Frühling ist weit mehr als das. Es ist Persistenz, Messaging, Remoting und vieles mehr auf DI und AOP. – duffymo