2016-06-30 3 views
-1

Ich bin sehr neu in JUnit. Wir wollen JUnit in unsere alte und große Enterprise-Java-Anwendung (mit vielen damit verbundenen Projekten) integrieren, die lange zurück entwickelt wurde. Wir wollen es tun, ohne Java-Dateien und auf Framework-Ebene zu berühren. Ist es möglich? Wenn ja, bitte teilen Sie mir die Links oder Informationen, wie es geht?Wie integriert man JUnit in bereits entwickelte Anwendungen?

+0

"Wir wollen es tun, ohne Java-Dateien und auf Framework-Ebene zu berühren." Nicht alles ist testbar. Vor allem wenn "groß und alt" ... – Fildor

+0

Danke Fildor. Könnten Sie bitte Ihre Antwort ausarbeiten? – chaitupnvs

+0

Sie können Tests schreiben, aber was möchten Sie testen? Offensichtlich hat das nichts mit TDD zu tun. Können Sie erklären, was Sie mit "auf Framework-Ebene" genau meinen? – Fildor

Antwort

1

kann ich nicht kommentieren (noch) nicht so hier ist meine Empfehlung als Antwort:

„Effektiv Arbeiten mit Legacy Code“ von Michael Feathers deckt alle Szenarien der Tests/usw. alten beibehalten, riesige Anwendungen in einer sehr lesbaren Weise.

1

Warum sollten Sie vorhandene Java-Dateien für das Schreiben von Komponententests berühren (wenn Sie bereit sind, nicht testbare Klassen in Ihrer Quelle zu lassen, wie sie sind)?

Ist das nicht integrieren JUnit bedeutet für bestehende Klassen Unit-Tests schreiben mit JUnit (für die Unit-Tests wurden bisher nicht geschrieben) OR gibt es eine andere bedeutet, dass Sie auch die Absicht ?.

Wir halten Testklassen mit JUnit in einem separaten source-folder geschrieben, damit diese nicht mit Ihrem vorhandenen Code zu tun haben.

Ich sehe keine Bedenken hier. Fügen Sie einfach JUnit jar in den Build-Pfad Ihres Projekts ein (indem Sie jar ODER indem Sie ODER hinzufügen Gradle Abhängigkeit) und starten Unit-Tests für Ihre testbaren Klassen zu schreiben und Sie sind fertig mit Ihrer Integration.

Möglicherweise möchten Sie source-folder-for-tests nicht in Ihren Bereitstellungsaufbau aufnehmen.

Manchmal sind in Ihrem alten Code einige Klassen möglicherweise nicht testbar, daher müssen Sie diese ein wenig optimieren, wenn Sie diese ebenfalls abdecken möchten.

Hoffe es hilft !!