Heim  >  Artikel  >  Java  >  Java-Entwicklung: So führen Sie Tests und Berichte zur Codeabdeckung durch

Java-Entwicklung: So führen Sie Tests und Berichte zur Codeabdeckung durch

WBOY
WBOYOriginal
2023-09-21 12:42:11748Durchsuche

Java-Entwicklung: So führen Sie Tests und Berichte zur Codeabdeckung durch

Java-Entwicklung: So führen Sie Tests und Berichte zur Codeabdeckung durch

In der Java-Entwicklung ist das Testen der Codeabdeckung ein wichtiges Werkzeug, das uns dabei helfen kann, festzustellen, ob Testfälle verschiedene Teile des Codes abdecken, und den Codetest zu verstehen Qualität. In diesem Artikel wird beschrieben, wie Codeabdeckungstests durchgeführt und entsprechende Berichte erstellt werden, und es werden einige spezifische Codebeispiele bereitgestellt.

Beim Testen der Codeabdeckung wird die Abdeckung jedes Teils des Codes gemessen, indem Testfälle ausgeführt und Ausführungsinformationen gesammelt werden. Zu den in der Java-Entwicklung häufig verwendeten Tools zum Testen der Codeabdeckung gehören JaCoCo und Emma. In diesem Artikel wird JaCoCo als Beispiel zur Erläuterung verwendet.

Schritt 1: JaCoCo-Plugin hinzufügen

Fügen Sie zunächst das JaCoCo-Plugin zu Ihrem Java-Projekt hinzu. Sie können Build-Tools wie Maven oder Gradle verwenden, um relevante Abhängigkeiten und Konfigurationen zur pom.xml- oder build.gradle-Datei des Projekts hinzuzufügen.

Für Maven-Projekte können Sie die folgenden Abhängigkeiten im POM hinzufügen. Erstellen Sie dann einen Abdeckungstestbericht.

Schritt 2: Testfall ausführen

Nachdem Sie den Testfall im Projekt geschrieben haben, verwenden Sie das Build-Tool, um den Testbefehl auszuführen, z. B. mit Maven, um den Befehl mvn test auszuführen, oder mit Gradle führt den Befehl ./ gradlew test aus. Nach Abschluss des Tests erstellt JaCoCo einen Abdeckungstestbericht.

Schritt 3: Abdeckungstestbericht erstellen

Nachdem Sie den Testbefehl ausgeführt haben, finden Sie den generierten Abdeckungstestbericht im Projektverzeichnis. Für Maven-Projekte werden Berichte standardmäßig im Verzeichnis target/site/jacoco/ generiert; für Gradle-Projekte werden Berichte im Verzeichnis build/reports/jacoco/ generiert Standard. mvn test命令,或使用Gradle执行./gradlew test命令。测试完成后,JaCoCo将会生成覆盖率测试报告。

步骤三:生成覆盖率测试报告

执行完测试命令后,可以在项目的目录中找到生成的覆盖率测试报告。对于Maven项目,报告默认生成在target/site/jacoco/目录下;对于Gradle项目,报告默认生成在build/reports/jacoco/

Im generierten Bericht können Sie die Codeabdeckung anzeigen. Normalerweise gibt es Indikatoren wie Zeilenabdeckung, Zweigabdeckung und Klassenabdeckung.

Als nächstes schauen wir uns konkrete Codebeispiele an.

Angenommen, wir haben eine Klasse namens Calculator, die über eine Add-Methode zum Addieren zweier Zahlen verfügt:

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.5</version>
            <executions>
                <execution>
                    <id>jacoco-initialize</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>jacoco-report</id>
                    <phase>test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Lassen Sie uns Testfälle schreiben und Codeabdeckungstests durchführen.

plugins {
    id 'jacoco'
}

jacoco {
    toolVersion = '0.8.5'
}

test {
    finalizedBy jacocoTestReport
}

jacocoTestReport {
    reports {
        xml.enabled = true
        html.enabled = true
    }
}

Nach der Ausführung des Testbefehls generiert JaCoCo einen Abdeckungstestbericht. Wenn wir den Bericht öffnen, können wir sehen, dass in der Calculator-Klasse die Zeilenabdeckung der Add-Methode 100 % und die Zweigabdeckung ebenfalls 100 % beträgt.

Durch Tests und Berichte zur Codeabdeckung können wir herausfinden, ob Testfälle verschiedene Zweige und Situationen des Codes abdecken, was uns dabei hilft, die Qualität und Zuverlässigkeit des Codes zu verbessern.

Zusammenfassend stellt dieser Artikel vor, wie man Java-Code-Coverage-Tests durchführt und entsprechende Berichte generiert. Durch den Einsatz von JaCoCo-Tools können wir die Qualität von Testcode besser verstehen und verbessern. Gleichzeitig werden spezifische Codebeispiele bereitgestellt, um zu veranschaulichen, wie Codeabdeckungstests in tatsächlichen Projekten angewendet werden können.

Ich hoffe, dieser Artikel ist hilfreich für Sie!

Das obige ist der detaillierte Inhalt vonJava-Entwicklung: So führen Sie Tests und Berichte zur Codeabdeckung durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn