2017-02-06 4 views
-1

Ich habe ein Java-Projekt mit mehreren Klassen, und ich habe Junit Testfälle für jede Klasse erstellt.Junit Testfälle passieren einzeln, aber nicht in MVN installieren

habe ich jacoco Plugin Die Überprüfung der Testabdeckung meines Projekts mit Sonarqube 5.5 verwendet. Ich arbeite an Eclipse-Mars 4.5.2 auf Windows 7

wenn ich laufe mvn installieren Sie das Eclipse-Plugin, es berichtet, dass einige meiner Testfälle versagt haben (ohne Stacktrace, warum) sehen, und ich die folgende Ausnahme:

An error has occurred in JaCoCo report generation. Error while creating report: Unknown block type 7.

Allerdings, wenn ich diese Testfälle einzeln in Eclipse laufen, sie gut funktionieren und erfolgreich sind, was bedeutet, dass ich nicht bin mit mvn auf Testfälle installieren mit falsche Behauptungen.

Ich dachte, dass dies ein Problem mit meinem Eclipse Maven Plugin sein könnte, also habe ich mvn install separat mit cmd laufen lassen, aber ich bekomme die selbe Ausnahme.

Ich habe mein Projekt in Eclipse aktualisiert. Alle meine Testfälle passieren danach (seltsam), aber ich sehe immer noch diese Ausnahme.

Was bedeutet diese Ausnahme und wie kann ich sie beheben?

Jede Anleitung wird ernsthaft geschätzt. Danke

+2

Haben Sie https://groups.google.com/forum/#!topic/jacoco/f1ZllnGkjlo gesehen, das besagt, dass die parallele Testausführung der Grund ist. Sie müssen das todsichere Plugin verwenden. Können Sie versuchen, Ihre Tests nacheinander auszuführen und zu sehen, ob das Problem auftritt? – GauravJ

+0

Ja. Ich bin auf diese Seite gestoßen, und ja, ich benutze das todsichere Plugin. Bitte sagen Sie mir, wie ich den Testlauf serialisieren kann. Danke –

+1

Bitte überprüfen Sie http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html. Genauer gesagt führt "forkCount = 1/reuseForks = false" jede Testklasse nacheinander in einem eigenen JVM-Prozess aus. Sie erzeugt die höchste Trennungsstufe für die Testausführung, aber es würde Ihnen wahrscheinlich auch die längste Ausführungszeit von allen geben verfügbare Optionen. Betrachten Sie es als letztes Mittel. " – GauravJ

Antwort

0

Dieses Problem wird verursacht, weil eine Datei mit dem Namen jacoco.exec nicht korrekt heruntergefahren wird. welches sich im Ordner my_project_name/target/ befindet.

Ich löste dieses Problem, indem ich zu besagtem Ordner gehe und jacoco.exec manuell lösche und mvn clean install über Eclipse wieder laufen lasse.

Verwandte Themen