Alle,Wie zu fälschen Initial mit Standardkonstruktors
Ich versuche, einige Unit-Tests in einigen archaischen Java-Code (keine Schnittstellen, keine Abstraktion, etc.) zu tun
Dies ist ein Servlet, das Verwendungen Ein ServletContext (von dem ich annahm, dass er von Tomcat eingerichtet wurde) und in der Datei web.xml/context.xml sind Datenbankinformationen eingerichtet. Jetzt habe ich herausgefunden, wie eine gefälschte ServletContext zu machen, aber der Code hat
InitialContext _ic = new InitialContext();
ganzen Ort (es ist also nicht möglich, sie zu ersetzen). Ich muss einen Weg finden, um eine Standard-InitialContext() in der Lage zu machen, _ic.lookup(val)
ohne eine Ausnahme zu werfen.
Ich nehme an, es gibt eine Möglichkeit, dass die context.xml geladen wird, aber wie diese Magie funktioniert, zeichne ich eine leere. Hat jemand Ideen?
Nur weil es oft vorkommt, heißt das nicht, dass es definitiv nicht durchführbar ist, es zu ersetzen. Verdammt, selbst wenn man nur eine statische Factory-Methode verwendet, würde dies * mehr * Testbarkeit ermöglichen (obwohl es eindeutig nicht so schön ist wie einige Alternativen). –