Diffblue Cover erzeugt Unit-Tests mit Reinforcement Learning. Es gibt eine Erweiterung für IntelliJ, ein Kommandozeilenwerkzeug und eine CI-Integration.

Verhalten vor dem Refactoring festlegen
Diffblue Cover erstellt Unit-Tests für ein bestehendes Projekt. Bevor Sie Code verschieben, erzeugen Sie Tests für eine kleine Klasse und prüfen Sie, welche Verzweigungen sie abdecken. Das ist hilfreich bei Code, der seit Langem stabil läuft und dessen tatsächliches Verhalten wenig dokumentiert ist. Die Tests halten den Ausgangszustand fest.
Der Test, der das Ergebnis des aktuellen Codes wiederholt, erfordert das Lesen. Wenn die Anwendung eine falsche Antwort für eine seltene Anmeldung zurückgibt, kann eine automatisch erstellte Überprüfung diese Antwort sichern. Überprüfen Sie die Aussagen mit dem bekannten Vertrag und korrigieren Sie den Test, wenn der Vertrag von der Umsetzung abweicht.
Ein Beispiel für eine Schulung mit einem Liefertarif
Lassen Sie den Service die Versandkosten nach Gewicht berechnen und der kostenlose Versand gilt ab einem bestimmten Bestellbetrag. Wählen Sie eine Berechnungsmethode und bereiten Sie mehrere Grenzwerte vor. Nach der Generierung finden Sie Tests für die Menge an der Grenze, Gewicht Null und negatives Gewicht. Überprüfen Sie die erwarteten Werte manuell. Wenn Sie einen Fall mit einer Ausnahme benötigen, sehen Sie, dass der Test ihn von einem versehentlichen Datenvorbereitungsfehler unterscheidet.
Führen Sie den Testsatz nach einer kleinen kontrollierten Änderung des Schwellenwerts aus. Wenn kein Test darauf reagiert, reicht die Abdeckungsquote für die Abnahme nicht aus.
So aktivieren Sie Cover in das Projekt
Cover gibt es in mehreren Formen. Für eine gezielte Prüfung eignen sich die Erweiterung oder die CLI. Für regelmäßige Läufe hilft die CI-Dokumentation. Beginnen Sie mit einem Projektteil, den Ihr Team ohne externe Produktionsdaten bauen und testen kann.
Für welche Aufgaben geeignet
- Unit-Tests vor dem Refactoring von Java-Code vorbereiten
- Überprüfen Sie die Ausnahmebehandlung im Dienst
Stärken
- Es gibt eine IntelliJ-Erweiterung und einen Befehlszeilenstart
- Generierung orientiert sich an bestehendem Projektcode
Einschränkungen
- Überprüfen Sie die Kompatibilität von Projekt und Build
- Generierte Tests können bereits vorhandenes fehlerhaftes Verhalten verankern
Auswahl und Bedingungen
- Kostenlose Nutzung
- Nicht bestätigt
- Testphase
- Nicht bestätigt
- Keine Registrierung erforderlich
- Nicht bestätigt
- Russische Benutzeroberfläche
- Nicht bestätigt
- Lokale Installation
- Nicht bestätigt
- API
- Nicht bestätigt
„Nicht bestätigt“ bedeutet, dass nicht genügend Informationen vorliegen. Die Funktion kann dennoch verfügbar sein; prüfen Sie die Angaben des Entwicklers.
- Eingabeformate
- Code, Text
- Ergebnis
- Code, Text
Bedingungen
Das Abonnement und die Testzugangsbedingungen hängen vom Produkt und der Startmethode ab. Überprüfen Sie die aktuellen Diffblue-Bedingungen. Generierte Tests können bereits vorhandenes fehlerhaftes Verhalten verankernVon der Aufgabe zum ersten Ergebnis
Praxisbeispiel
- Aufgabe
- Unit-Tests vor dem Refactoring von Java-Code vorbereiten
- Was Sie vorbereiten sollten
- Gesammeltes Studienprojekt und Regeln für die Berechnung der Lieferung mit Grenzwerten für Gewicht und Betrag.
Aufgabenbeschreibung oder Prompt
Übungsaufgabe: Öffnen Sie die Berechnungsmethode in IntelliJ und führen Sie Write Tests aus. Überprüfen Sie die erhaltenen Kontrollen mit der kostenlosen Versandregel und der Bedingung des unzulässigen Gewichts.
Erwartetes Ergebnis
Unit-Tests mit klaren Bedingungen und erwarteten Werten.
So prüfen Sie das Ergebnis
- Vergleichen Sie die Aussagen mit dem Vertrag der Methode.
- Ändern Sie die Schwelle in der Arbeitskopie und stellen Sie sicher, dass der gewünschte Test reagiert.
Ein redaktionelles Lernbeispiel für eine Aufgabenbeschreibung, kein Ergebnis eines eigenen Praxistests des Dienstes. Prüfen Sie die Verfügbarkeit des benötigten Modus, die Rechte am Ausgangsmaterial und die Bedingungen für die Nutzung des Ergebnisses.
Details überprüfen
Offizielle Quellen
- Seite Diffblue Cover
- Wie Diffblue Cover funktioniert und welche Komponenten verfügbar sind
- Integration von Diffblue Cover mit GitHub
- Erster Start des Diffblue Cover Plugin
Die Beschreibung basiert auf den Materialien des Entwicklers. Die Funktionen, Preise und Verfügbarkeit können variieren. Bitte überprüfen Sie die Quelle vor der Verwendung.

