Führen Sie jacoco ein, um beim Ausführen von TestNG eine Abdeckung zu erhalten.
Ich habe nur Jacoco und Cobertura berührt, aber beide haben den folgenden Fluss. Ich kenne die Details nicht.
Daher wäre es sehr enttäuschend, ein Archiv zu erstellen, das auf der vom Instrument neu geschriebenen Klassendatei basiert. Bitte seien Sie vorsichtig.
Maven ist einfach. Es ist möglich, die On-the-Fly-Instrumentierung zur Laufzeit zu messen. In einigen Fällen betrug die Abdeckung bei Verwendung von PowerMock jedoch 0%. Aus diesem Grund haben wir die Methode (Offline-Instrumentierung) zum Ändern der Klassendatei im Voraus übernommen.
Ich verwende diesmal NetBeans IDE 8.2, aber ich habe es gewagt, die alte Version 0.8.1 zu installieren, da der Ergebnisbericht aufgrund eines Fehlers auf der IDE-Seite nicht korrekt angezeigt wurde.
pom.xml(dependencies)
<dependency>
<!--Offline-Instrument funktioniert ohne es nicht-->
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<version>0.8.1</version>
<scope>test</scope>
<classifier>runtime</classifier>
</dependency>
pom.xml(build/plugins)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<systemPropertyVariables>
<jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
<!--↓ Ohne diese Option wird die Stapelverfolgung nicht angezeigt-->
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<!-- 0.8.2 @NetBeans IDE 8.Wenn es 2 ist, wird "Codeabdeckung" nicht aufgezeichnet-->
<version>0.8.1</version>
<executions>
<execution>
<id>default-instrument</id>
<goals>
<goal>instrument</goal>
</goals>
</execution>
<execution>
<id>default-restore-instrumented-classes</id>
<goals>
<goal>restore-instrumented-classes</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
Testen Sie es in Maven und wenn Sie fertig sind, "zeigen Sie den Bericht an" in Ihrer Codeabdeckung.