Jenkins - Maven - Integration von Testwerkzeugen
Links
Übersicht Werkzeuge
JUnit
Die Integration von JUnit innerhalb eines Maven Projekts ist bereits in der Standard Konfiguration von Jenkins enthalten. Die Tests werden automatisch gefunden und ausgewertet.
Zusätzlich sieht man anhand einer Grafik den Trend der Ergebnisse.
Abb. 1
TestNG
Um die TestNG-Ergebnisse darstellen zu können, muss das Plugin TestNG Results Plugin nach installiert werden.
Wenn man zurück in der Job Konfiguration ist, muss lediglich der Pfad zu den XML Reports eingestellt werden. Im Anschluss wird eine Übersicht zu den TestNG Tests dargestellt (Abb. 1).
Abb. 2
Cobertura
Cobertura ist ein Code Überdeckungswerkzeug (siehe Cobertura). Mit Hilfe des Jenkins Cobertura Plugin kann Cobertura in Jenkins integriert werden.
Das Plugin ist nicht in der Standard Jenkins-Installation enthalten und muss über die Systemkonfiguration nach installiert werden.
Die Konfiguration ist in nur wenigen Schritten erledigt.
Als erstes wird der Pfad zu den Cobertura XML Ergebnissen eingegeben.
Abb. 3.1
Die Goals und Optionen werden mit cobertura:cobertura erweitert. So werden die Cobertura Tests ausgeführt und die Ergebnisse veröffentlicht.
Abb. 3.2
Auf der Job Hauptseite ist nun ein Diagramm zu sehen: Cobertura Testabdeckung. Es zeigt grafisch die prozentuale Abdeckung im Verlauf der Builds.
Abb. 3.3
Diese Ergebnisse können detailliert aufgeschlüsselt werden. Desweiteren kann die Überdeckung innerhalb von Dateien dargestellt werden.
Abb. 3.4
Emma
Emma ist ein Werkzeug, welches die Anweisungsüberdeckung erfasst. Die Ergebnisse werden in Jenkins ähnlich wie die Cobertura Ergebnisse dargestellt.
Wenn das Plugin über die Systemkonfiguration installiert wurde, können in der Job-Konfiguration die Build Optionen um emma:emma erweitert werden. Ebenso muss man den Haken bei 'Veröffentliche die Emma Testabdeckung' setzen.
Die Darstellung, die man jetzt in der Übersicht des Jobs sehen kann, ist ähnlich zu der von Cobertura.
JMeter
JMeter ist ein Open Source Performance Test Werkzeug. Es führt Lasttests in Client/Server Applikation aus. Es unterstützt eine Vielzahl an Protokollen darunter HTTP, FTP, SOAP, JDBC und einige andere.
JMeter ist frei konfigurierbar, d.h. es können Anfragen so gestaltet werden, dass die reelle Nutzung der Software simuliert wird.
Selenium
Selenium, ein Werkzeug um Automatisierte Tests auf Webanwendungen durchführen zu können, ist durch ein Plugin in Jenkins integrierbar.
Das 'seleniumhtmlreport' Plugin (Abb. 4) kann über die Jenkins Systemeinstellung installiert werden.
Im Anschluss muss das Auslösen der Tests als Post Step hinzugefügt werden. Hier kann der Aufruf rein kopiert werden, welcher auch z. B. aus der Kommandozeile genutzt wird, um den Test zu starten.
Nun muss noch lediglich der Pfad zu den Testergebnissen eingestellt werden.
Abb. 4
Zurück zu Jenkins
Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite