SBT-Jacoco zählt synthetische MethodenJava

Java-Forum
Anonymous
 SBT-Jacoco zählt synthetische Methoden

Post by Anonymous »

Mir ist während des Projekt-Upgrades ein Problem aufgefallen.
Vor dem Upgrade-Setup:
  • Java – 1.8
  • Scala – 2.12
  • sbt – 1.5.0
  • sbt-jacoco – 3.1.0
Gesamttestabdeckung in SonarQube: ~72 %
Nach dem Upgrade:
  • Java – 17
  • Scala – 2.13
  • sbt - 1.10.11
  • sbt-jacoco - 3.4.0
Gesamttestabdeckung in SonarQube: ~62 %
Mit Upgrade von sbt-jacoco hat unsere Gesamttestabdeckung um ~10 % verringert.
Nach einigen Untersuchungen haben wir herausgefunden, dass sbt-jacoco 3.4.0 jetzt Zweige synthetischer Methoden zählt (z. B. copy$-Methoden für Fallklassen).
Ich habe den Quellcode von sbt-jacoco überprüft und konnte sehen, dass ein geeigneter Filter (synthetische Scala-Methoden) implementiert ist, aber es sieht so aus, als ob er nicht funktioniert, oder vielleicht sollte ich ihn irgendwie währenddessen aktivieren Jacoco-Befehl wird gestartet.
Außerdem werden ab sbt-jacoco 3.4.0 auch einfache Getter gezählt, aber laut Jacoco sollte das nicht der Fall sein.
UPD
@aled, @Gaël J, Sie haben Recht, ich sollte ein Beispiel hinzufügen. Und die Frage lautet: „Wie schließt man synthetische Methoden aus dem SBT Jacoco-Bericht aus?“
Hier ist vor dem Upgrade (sollte mit Java 1.8 gestartet werden): https://github.com/ppllaxxa/sbt-jacoco-test
Nach dem Upgrade (sollte mit Java 17 gestartet werden): https://github.com/ppllaxxa/sbt-jacoco-test-upgrade
Um einen Jacoco-Bericht zu generieren, führen Sie ihn einfach in der SBT-Shell aus: „Clean CoverageOn“ jacoco CoverageReport CoverageOff
Der Bericht befindet sich hier:
sbt-jacoco-test\target\scala-2.12\jacoco\report\html
Vor dem Upgrade
sbt-jacoco-test-upgrade\target\scala-2.13\jacoco\report\html
Nach dem Upgrade

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post