2012-03-29 12 views
3

Ich habe ein Maven-Projekt, das einem gemeinsamen Core-Web-Paket folgt.emma code coverage report

Ich möchte Emma-Tool für die Code-Abdeckung ausführen. Die Anforderung ist, ich möchte Emma-Code-Coverage-Tool zu meinem Maven-basierten Projekt ausführen und einen Bericht generieren.

Ich bin völlig neu in diesem Tool und versuche die Befehle wie im Internet angegeben. Da ich keine Hauptmethode in meinem Maven-Projekt habe (wir bekommen das Ohr und deployen in jboss), musste ich eine Pojo-Datei erstellen, um einen Dienst aufzurufen und das Pojo-Jar zu erstellen, indem ich die Maven Project-Jars einfüge.

Jetzt habe ich nur emma.jar in meinem System, ein Glas, das die Hauptmethode und die Maven-Projektgläser enthält. Wie ich im Bericht basiertes Format aus dem Werkzeug wollen, betreibe ich das emma-Tool von Batch-Befehl (in dem Ort, wo emma.jar vorhanden ist) ->java emmarun -jar <jar containing the main method>

ich den Bericht als

[EMMA v2.0.5312 report, generated Thu Mar 29 20:36:04 IST 2012] 
OVERALL COVERAGE SUMMARY: 

[class, %] [method, %] [block, %] [line, %] [name] 
100% (5/5) 79% (11/14) 77% (266/344)! 76% (60/79)! all classes 

OVERALL STATS SUMMARY: 

total packages: 1 total classes: 5 total methods: 14 total executable files: 4 total executable lines: 79 

COVERAGE BREAKDOWN BY PACKAGE: 

[class, %] [method, %]  [block, %]  [line, %] [name] 100% (5/5) 
79% (11/14) 77% (266/344)! 76% (60/79)! org.eclipse.jdt.internal.jarinjarloader 
------------------------------------------------------------------------------- 

bekommen Aber Von hier aus verstehe ich nicht, welche Klassendateien während des Methodenaufrufs aus der pojo-Datei stammen, die im Jar enthalten ist.

Ich bin mir nicht sicher über meinen Ansatz oder gibt es einen anderen Schritt, den ich vermisse, um den Bericht zu erhalten?


ist es ref Links zu Einheit tests..how ich eine einfache Unit-Test-Code kann ... die Nutzungs Schritte thot I jedem einfachen Schritt ganz confusing.So war das Maven-Projekt mit Eingabeaufforderung zu testen für code coverage ... sonst gibt es noch ein anderes tool außer emma, das meine ansprache vereinfachen kann ... ich möchte ein code coverage tool verwenden, um ein maven-projekt von der command prompt zu testen ... das ist meine hauptanforderung

+0

Sie uns bitte sagen, wie genau Sie den Bericht erstellt. Sonst wird es nur raten. – oers

+0

Voraussetzung ist, dass ich emma code coverage tool auf meinem Maven-basierten Projekt (mit einem gemeinsamen Kern-Webpaket) ausführen und einen Bericht generieren möchte. Da ich keine Hauptmethode in meinem Maven-Projekt habe (wir bekommen das Ohr und deployen in jboss), Ich musste eine POJO-Datei erstellen, um einen Dienst aufzurufen und das Pojo-JAR zu erstellen, indem ich die Maven-Projekt-JARs einfügte. Jetzt habe ich nur noch emma.jar, ein JAR, das die Hauptmethode und die Maven-Projekt-JARs enthält Vom Tool aus führe ich das emma-Tool aus dem Batch-Befehl (an dem Ort, wo emma.jar vorhanden ist) -> java emmarun -jar bablu

Antwort

0

Bitte lesen Sie diese QuickStartGuide.

Sie müssen den Quellcode angeben und einen HTML-Bericht erstellen, um vollständige Statistiken anzuzeigen.

Beispiel:

java -cp emma.jar emmarun -r html -jar the_jar -sp path_to_source 
+0

hier, worauf bezieht sich the_jar und path_to_source bezieht sich auf? – bablu

+0

@bablu zu der JAR-Datei und den Pfad zu Ihren Quelldateien, es ist wie Ihr eigenes Beispiel, nur mit HTML-Bericht und -sp Parameter für die Quellen – oers

+0

hier, worauf bezieht sich der_jar auf und path_to_source bezieht sich auf? Ich habe ein Maven-Projekt, das eine gemeinsame Core-Web-Package-Struktur enthält.Da ich keine Hauptmethode habe, muss ich ein Pojo schreiben, wie es früher gemacht wurde, und eine beliebige Ejb-Service-Methode aufrufen, um die Code-Abdeckung zu testen? Ich bin mir nicht im Klaren über das Verständnis dieses Tool- und Code-Coverage-Prozesses. Können Sie bitte die erforderlichen Schritte hervorheben, wenn ich davon ausgehe, dass ich nur maven project (mit einem gemeinsamen Kern-Webpaket ohne Hauptklasse) und emma jar habe? – bablu

0

Statt -jar die Verwendung -cp helfen kann.

java -cp emma.jar emmarun -cp Test.jar MainClassName 
2

Wie Sie Maven verwenden sowieso sollten Sie es auch die Emma Berichte generiert werden sollen:

mvn emma:emma