Amazon CodeCatalyst ist nicht mehr offen für neue Kunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Wie migriert man von CodeCatalyst.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden zum Testen
Wenn Sie die Testfunktionen von verwenden CodeCatalyst, empfehlen wir Ihnen, die folgenden bewährten Methoden zu befolgen.
Auto-discovery
Bei der Konfiguration von Aktionen in CodeCatalyst können Sie mithilfe der automatischen Erkennung automatisch die Ausgaben verschiedener Tools, wie z. B. JUnit-Testberichte, erkennen und daraus relevante CodeCatalyst Berichte generieren. Auto-discovery stellt sicher, dass Berichte auch dann generiert werden, wenn sich Namen oder Pfade zu erkannten Ausgaben ändern. Wenn neue Dateien hinzugefügt werden, werden diese CodeCatalyst automatisch erkannt und relevante Berichte erstellt. Wenn Sie die automatische Erkennung verwenden, ist es jedoch wichtig, einige der folgenden Aspekte dieser Funktion zu berücksichtigen:
-
Wenn Sie die automatische Erkennung in Ihrer Aktion aktivieren, gelten für alle automatisch erkannten Berichte desselben Typs dieselben Erfolgskriterien. Beispielsweise würden gemeinsame Kriterien wie die Mindestquote bei der Bestehensquote für alle automatisch erkannten Testberichte gelten. Wenn Sie unterschiedliche Kriterien für Berichte desselben Typs benötigen, müssen Sie jeden dieser Berichte explizit konfigurieren.
-
Auto-discovery kann auch Berichte finden, die aufgrund Ihrer Abhängigkeiten erstellt wurden. Wenn Erfolgskriterien konfiguriert sind, schlägt die Aktion für diese Berichte möglicherweise fehl. Dieses Problem kann durch eine Aktualisierung der Konfiguration für den Ausschlusspfad behoben werden.
-
Auto-discovery Es kann nicht garantiert werden, dass jedes Mal dieselbe Berichtsliste erstellt wird, da die Aktion zur Laufzeit gescannt wird. Falls Sie möchten, dass immer ein bestimmter Bericht erstellt wird, sollten Sie Berichte explizit konfigurieren. Wenn beispielsweise Tests als Teil Ihres Builds nicht mehr ausgeführt werden, würde das Testframework keine Ausgaben erzeugen und infolgedessen würde kein Testbericht erstellt und die Aktion könnte erfolgreich sein. Wenn Sie möchten, dass der Erfolg Ihrer Aktion von diesem bestimmten Test abhängt, müssen Sie diesen Bericht explizit konfigurieren.
Tipp
Wenn Sie mit einem neuen oder bestehenden Projekt beginnen, verwenden Sie die automatische Erkennung für das gesamte Projektverzeichnis (einschließlich**/*). Dadurch wird die Berichtsgenerierung für alle Dateien in Ihrem Projekt aufgerufen, einschließlich der Dateien in Unterverzeichnissen.
Weitere Informationen finden Sie unter Konfiguration von Qualitätsberichten in einer Aktion.
Erfolgskriterien
Sie können Qualitätsgrenzwerte für Ihre Berichte durchsetzen, indem Sie Erfolgskriterien konfigurieren. Wenn beispielsweise zwei Berichte zur Codeabdeckung automatisch erkannt wurden, einer mit einer Leitungsabdeckung von 80% und der andere mit einer Leitungsabdeckung von 60%, haben Sie die folgenden Optionen:
-
Legen Sie die Erfolgskriterien für die automatische Erkennung für die Leitungsabdeckung auf 80% fest. Dies würde dazu führen, dass der erste Bericht erfolgreich ist und der zweite Bericht fehlschlägt, was dazu führen würde, dass die gesamte Aktion fehlschlägt. Um den Arbeitsablauf zu entsperren, fügen Sie Ihrem Projekt neue Tests hinzu, bis die Zeilenabdeckung für den zweiten Bericht 80% übersteigt.
-
Legen Sie die Erfolgskriterien für die automatische Erkennung für die Leitungsabdeckung auf 60% fest. Dies würde dazu führen, dass beide Berichte erfolgreich sind, was dazu führen würde, dass die Aktion erfolgreich ist. Sie könnten dann im zweiten Bericht daran arbeiten, die Codeabdeckung zu erhöhen. Bei diesem Ansatz können Sie jedoch nicht garantieren, dass die Abdeckung im ersten Bericht nicht unter 80% fällt.
-
Konfigurieren Sie explizit einen oder beide Berichte, indem Sie den visuellen Editor verwenden oder für jeden Bericht einen expliziten YAML-Abschnitt und -Pfad hinzufügen. Auf diese Weise könnten Sie separate Erfolgskriterien und benutzerdefinierte Namen für jeden Bericht konfigurieren. Bei diesem Ansatz könnte die Aktion jedoch fehlschlagen, wenn sich die Berichtspfade ändern.
Weitere Informationen finden Sie unter Erfolgskriterien für Berichte konfigurieren.
Include/exclude Pfade
Bei der Überprüfung der Aktionsergebnisse können Sie die Liste der Berichte anpassen, die CodeCatalyst durch die Konfiguration von IncludePaths und generiert werdenExcludePaths.
-
IncludePathsDient zur Angabe der Dateien und Dateipfade, die Sie bei der Suche nach Berichten einbeziehen möchten CodeCatalyst . Wenn Sie beispielsweise angeben"/test/report/*", CodeCatalyst durchsucht das gesamte Build-Image, das von der Aktion verwendet wird, um nach dem/test/report/Verzeichnis zu suchen. Wenn das Verzeichnis gefunden CodeCatalyst wird, wird in diesem Verzeichnis nach Berichten gesucht.Anmerkung
Bei manuell konfigurierten Berichten
IncludePathsmuss es sich um ein Glob-Muster handeln, das einer einzelnen Datei entspricht. -
ExcludePathsDient zur Angabe der Dateien und Dateipfade, die Sie bei der Suche nach Berichten ausschließen möchten CodeCatalyst . Wenn Sie dies beispielsweise angeben"/test/reports/**/*", CodeCatalyst wird im/test/reports/Verzeichnis nicht nach Dateien gesucht. Verwenden Sie das**/*Glob-Muster, um alle Dateien in einem Verzeichnis zu ignorieren.
Im Folgenden finden Sie Beispiele für mögliche Glob-Muster.
| Muster | Description |
|---|---|
|
|
Entspricht allen Objektnamen im aktuellen Verzeichnis, die einen Punkt enthalten |
|
|
Entspricht allen Objektnamen im aktuellen Verzeichnis, die mit enden |
|
|
Entspricht allen Objektnamen im aktuellen Verzeichnis, die mit |
|
|
Entspricht Objektnamen in allen Verzeichnissen, die mit enden |
|
|
Entspricht einem Objekt mit dem Namen |
|
|
Entspricht Objekten auf einer Ebene des Unterordners von |
|
|
Findet Objekte auf zwei Ebenen des Unterordners von |
|
|
Entspricht dem Unterordner |
CodeCatalyst interpretiert die Glob-Muster wie folgt:
-
Der Schrägstrich (
/) trennt Verzeichnisse in Dateipfaden. -
Das Sternchen (
*) entspricht einem oder mehreren Zeichen einer Namenskomponente ohne Überschreiten der Ordnergrenzen. -
Ein doppeltes Sternchen (
**) entspricht null oder mehr Zeichen einer Namenskomponente in allen Verzeichnissen.
Anmerkung
ExcludePathshat Vorrang vor. IncludePaths Wenn beide IncludePaths den gleichen Ordner ExcludePaths enthalten, wird dieser Ordner nicht nach Berichten durchsucht.