Jenkins und JaCoCo mit sbt

8

Ich habe ein Projekt in Jenkins, mit dem ich einen JaCoCo Code Coverage Report erstellen möchte. Wenn ich jacoco:test und dann jacoco:report lokal ausführe, erstellt es die richtigen Dateien (.exec, .classes und sources) in myproject/target/scala-2.9.1/jacoco , so dass es funktioniert.

Wenn Sie jedoch auf jenkins aufbauen, wird nur das Klassenverzeichnis erstellt, was bedeutet, dass es den Code aufnimmt, aber nicht den Test, der es abdeckt, sodass ich eine Codeabdeckung von 0% erhalte.

Hat jemand auf diese Weise Jacoco mit sbt arbeiten?

    
Thomas Mitchell 12.10.2012, 11:17
quelle

2 Antworten

2

Ich stieß auf dasselbe Problem, als ich versuchte, ein neues Scala-Projekt zu starten. Nachdem ich eine Reihe von Pfadkonfigurationen ausprobiert hatte, konnte ich eine Lösung finden.

Der Standardwert für Pfad zu Klassenverzeichnissen ist **/classes . Ich vermute, das Problem ist, dass das Muster die Übereinstimmung von target/scala-X.XX/classes/ und target/scala-X.XX/jacoco/classes/ ermöglicht.

Durch das Ändern des Klassenverzeichnispfads in target/*/classes konnte das Jenkins-Plug-in mit dem Berichten der richtigen Coverage-Informationen beginnen.

    
unholysampler 27.11.2013 18:18
quelle
0

Sie haben nicht viele Informationen über Ihre Jenkins-Jobkonfiguration angegeben, daher mache ich einige Annahmen, aber Sie können mehrere Build-Schritte in einem Jenkins-Job hinzufügen / ausführen. Build-Schritte führen Dinge wie Run Maven oder führen Sie ein beliebiges Skript.

Der erste Build-Schritt kann ein Maven-Build-Schritt sein, der "jacoco: test jacoco: report" ausführt, um Jacoco auszuführen, und dann kann der zweite Build-Schritt sein, was auch immer Sie nach der Datei jacoco.exec suchen.

    
ProgrammerGuy 03.05.2013 14:12
quelle

Tags und Links