Gradle im Praxistest - Teil 2

Schaukeln für Profis


Im Rahmen unseres Praxistests sind wir im ersten Artikel auf das Aufsetzen einer Java-EE-Anwendung und deren Entwicklung mit Gradle eingegangen. Im zweiten Teil möchten wir tiefer einsteigen und Aspekte rund um Qualitätssicherung, Continuous Integration sowie der Konfiguration unterschiedlicher Zielsysteme beleuchten. Bietet Gradle auch hier die notwendigen Mittel zur professionellen Anwendungsentwicklung?

Im zweiten Artikel demonstrieren wir weiterhin praxisnah anhand unserer Beispielanwendung [1] zuerst die Realisierung der Testautomatisierung. Neben der Umsetzung der wichtigen Integrationstests beschreiben wir auch, wie mit Gradle [2] im Rahmen der Testausführung Aspekte wie Testabdeckung sowie die Ermittlung der statischen Codequalität umgesetzt werden können und hierbei von Mechanismen wie der Testparallelisierung Gebrauch gemacht werden kann. Anschließend werfen wir einen Blick auf die Anbindung von Continuous-Integration-Systemen und demonstrieren abschließend die Erstellung umgebungsspezifischer Konfigurationen.

Artikelserie

Teil 1: Projektbeschreibung, Entwicklungsumgebung, Anwendungs­entwicklung

Teil 2: Qualitätssicherung, CI, umgebungsspezifische Konfiguration

Testautomatisierung

Testautomatisierung ist von zentraler Bedeutung für die Sicherstellung der Qualität der entwickelten Software und muss daher auch von jedem Build-System entsprechend unterstützt werden. Was zunächst nach einer einfachen Anforderung klingt, stellt sich bei genauerer Betrachtung als anspruchsvoll heraus. So geht es bei der Testautomatisierung um mehr als nur die einfache Ausführung von Unit Tests. Um eine möglichst optimale Testumgebung zu erhalten, sollte das eingesetzte Build-System zum Beispiel auch die Möglichkeit zur Ausführung von Integrationstests bieten. Idealerweise sollte die Möglichkeit bestehen, einfache Unit Tests und Integrationstests voneinander zu trennen – sowohl in der Ausführung als auch im Bereich des Sourcecodes. Gradle bietet hier für beide Punkte eine Lösung. Zum einen können auf einfache Art und Weise über Source-Sets für alle Projekte Ordner für den Sourcecode und Ressourcen von Integrationstests erstellt werden. In Listing 1 definieren wir für alle Projekte das Source-Set integrationTest. Um eine von Unit Tests losgelöste Ausführung zu erlangen, implementieren wir die gleichnamige Gradle-Task integrationTest vom Typ Test, in der wir angeben, dass nur die Testklassen aus dem eben definierten Source-Set berücksichtigt werden. Die Ausführung der...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang