2016-07-21 8 views
4

Ich habe ein Maven-Projekt, das als WAR-Datei kompiliert wird. Dann habe ich ein separates Testprojekt, das den Integrationstest enthält. Dieses Projekt würde die Webanwendung über Tomcat aus den WAR-Dateien starten und dann die Tests starten.Integrationstestabdeckung für eine Webanwendung, die auf Tomcat bereitgestellt wird?

Die einzige Berichterstattung, die ich gerade habe, ist nur für Komponententests innerhalb des Hauptprojekts. Verwendung von JMockit-coverage und JUnit.

Wie kann ich die Codeabdeckung dieser Webanwendung erhalten?

Antwort

5

Sie können die hervorragende Bibliothek JaCoCo verwenden. JaCoCo ist im Grunde genommen ein Java-Agent, den Sie bei Ihren Integrationstests zusammen mit der JVM starten sollten. Maven Plugin: jacoco-maven-plugin könnte hier nützlich sein.

Die gemessene Abdeckung wird standardmäßig in der Datei jacoco.exec aufgezeichnet.

Ein paar nützliche Links:

Aber wenn maven-failsafe-plugin und Starten eingebettet tomcat von Maven verwenden, können Sie Probleme like this laufen. Dann ist wahrscheinlich der beste Weg zu gehen die Verwendung von jacoco über ant und maven-antrun-plugin (working example). In der Freizeit können Sie auch einen Blogeintrag this ansehen.

Leider kann JaCoCo Setup mit Maven zeitaufwendig sein.

Hoffe es hilft

+0

danke für die klare und präzise Antwort +1 – mavi