2017-07-25 2 views
-1

Mein Projekt verwendet zwei andere Bibliotheken, die als Maven-Abhängigkeiten hinzugefügt werden. Wenn ich einen Abdeckungsbericht für das Projekt mithilfe der Eingabeaufforderung erzeuge, wird die Datei jacoco.exec generiert und ich kann sie verwenden, um den Abdeckungsbericht in der IDE anzuzeigen.Wie erstellt man Berichte, die Maven-Abhängigkeiten in einem Java-Projekt mit JaCoCo oder einem anderen Tool abdecken?

Aber es gibt mir keine Abdeckung über die Abhängigkeiten verwendet.

Ich habe im Eclipse-Plugin für JaCoCo gesehen, wo es die Möglichkeit gibt, die Abdeckung zu konfigurieren und bestimmte Gläser auszuwählen, die im Projekt verwendet werden, um in den Abdeckungsbericht aufgenommen zu werden.

Wie kann ich das gleiche im Fall der Befehlszeile basierte Ausführung?

Antwort

0

Mein Projekt verwendet zwei andere Bibliotheken, die als Maven-Abhängigkeit hinzugefügt werden.

Wenn diese Bibliotheken andere Module des gleichen Maven Build sind, dann haben Sie einen Blick auf report-aggregate goal von JaCoCo Maven Plugin.

Ich habe für JaCoCo in Eclipse-Plugin zu sehen, wo es Gelegenheit Abdeckung zu konfigurieren gibt, und wählen Sie bestimmte Gläser im Projekt verwendet wird in der Berichterstattung Bericht aufgenommen werden. Aber wie geht das bei der Befehlszeilen-basierten Ausführung?

In JaCoCo es 0.7.9 sind JaCoCo Ant Tasks und in 0.8.0 wird es JaCoCo Command Line Interface - beide mehr Freiheit bieten als JaCoCo Maven Plugin in Beschreibung dessen, was in Bericht enthalten sein, insbesondere für beliebige verwendet werden, (zB von Drittanbietern) JAR-Dateien. Ant-Tasks können innerhalb von Maven Build unter Verwendung von maven-antrun-plugin ausgeführt werden.

Und es gibt JaCoCo APIs mit examples (insbesondere ReportGenerator.java), die verwendet werden können, um eigene Berichtsgeneratoren, andere Integrationen zu erstellen. Von Ihnen erwähntes Eclipse-Plugin, das auf JaCoCo basiert - ist Eclipse EclEmma. Und es verwendet genau diese APIs für die Integration in Eclipse IDE.

0

Verwenden Sie das Codehaus-Plugin für ein besseres Ergebnis, das einen klassenweisen Abdeckungsbericht generiert. Sie können sowohl HTML- als auch XML-Berichte erstellen.

<project> 
    ... 
    <reporting> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <configuration> 
      <formats> 
      <format>html</format> 
      <format>xml</format> 
      </formats> 
     </configuration> 
     </plugin> 
    </plugins> 
    </reporting> 
</project> 
0
<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>0.5.5.201112152213</version> 
    <configuration> 
    <destFile>${basedir}/target/coverage-reports/jacoco-unit.exec</destFile> 
    <dataFile>${basedir}/target/coverage-reports/jacoco-unit.exec</dataFile> 
    </configuration> 
    <executions> 
    <execution> 
     <excludes> 
      <exclude>**/*Config.*</exclude> 
      <exclude>**/*Dev.*</exclude> 
    </excludes> 
    </execution> 
    <execution> 
     <id>jacoco-site</id> 
     <phase>package</phase> 
     <goals> 
      <goal>report</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

Sie können auch in Tag bieten die Klassen für Codeabdeckung ausschließen und in ähnlicher Weise für Tag für die Klassen einschließlich

Verwandte Themen