View a markdown version of this page

Verwenden Sie den CLI-Befehl codebuild-tests-run - AWS CodeBuild

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.

Verwenden Sie den CLI-Befehl codebuild-tests-run

AWS CodeBuild stellt eine CLI bereit, die einen Testbefehl und den Speicherort der Testdatei als Eingabe verwendet. Die CLI mit dieser Eingabe teilt die Tests anhand der Testdateinamen in die im parallelism Feld angegebene Anzahl von Shards auf. Die Zuweisung von Testdateien zu Shard wird durch die Sharding-Strategie entschieden.

codebuild-tests-run \ --files-search "codebuild-glob-search '**/__tests__/*.js'" \ --test-command 'npx jest --runInBand --coverage' \ --sharding-strategy 'equal-distribution'

In der folgenden Tabelle werden die Felder für den codebuild-tests-run CLI-Befehl beschrieben.

Feldname Typ Erforderlich oder optional Definition

test-command

Zeichenfolge

Erforderlich

Dieser Befehl wird zum Ausführen der Tests verwendet.

files-search

Zeichenfolge

Erforderlich

Dieser Befehl gibt eine Liste von Testdateien aus. Sie können den AWS CodeBuild mitgelieferten CLI-Befehl codebuild-glob-search oder ein anderes Dateisuchwerkzeug Ihrer Wahl verwenden.

Anmerkung

Stellen Sie sicher, dass der files-search Befehl Dateinamen ausgibt, die jeweils durch eine neue Zeile getrennt sind.

sharding-strategy

Enum

Optional

Zulässige Werte: equal-distribution (Standard), stability

  • equal-distribution: Verteilen Sie Testdateien gleichmäßig auf der Grundlage der Testdateinamen.

  • stability: Teilen Sie Testdateien mit konsistentem Hashing der Dateinamen.

Weitere Informationen finden Sie unter Über das Teilen von Tests.

Die codebuild-tests-run CLI identifiziert zunächst die Liste der Testdateien mithilfe des im Parameter angegebenen Befehls. files-search Anschließend bestimmt sie mithilfe der angegebenen Sharding-Strategie eine Teilmenge von Testdateien, die für den aktuellen Shard (die aktuelle Umgebung) bestimmt sind. Schließlich wird diese Teilmenge der Testdateien in eine durch Leerzeichen getrennte Liste formatiert und an das Ende des im Parameter angegebenen Befehls angehängt, bevor sie ausgeführt wird. test-command

Für Testframeworks, die keine durch Leerzeichen getrennten Listen akzeptieren, bietet die codebuild-tests-run CLI über die Umgebungsvariable eine flexible Alternative. CODEBUILD_CURRENT_SHARD_FILES Diese Variable enthält eine durch Zeilenumbrüche getrennte Liste von Testdateipfaden, die für den aktuellen Build-Shard bestimmt sind. Durch die Nutzung dieser Umgebungsvariablen können Sie sich problemlos an verschiedene Anforderungen des Testframeworks anpassen und so diejenigen berücksichtigen, die Eingabeformate erwarten, die sich von durch Leerzeichen getrennten Listen unterscheiden. Darüber hinaus können Sie die Namen der Testdateien auch gemäß den Anforderungen des Testframeworks formatieren. Das Folgende ist ein Beispiel für die Verwendung von CODEBUILD_CURRENT_SHARD_FILES unter Linux mit dem Django-Framework. Hier CODEBUILD_CURRENT_SHARD_FILES wird verwendet, um die von Django unterstützten Dateipfade mit Punktnotation abzurufen:

codebuild-tests-run \ —files-search "codebuild-glob-search '/tests/test_.py'" \ —test-command 'python3 manage.py test $(echo "$CODEBUILD_CURRENT_SHARD_FILES" | sed -E "s/\//__/g; s/\.py$//; s/__/./g")' \ —sharding-strategy 'equal-distribution'
Anmerkung

Beachten Sie, dass die CODEBUILD_CURRENT_SHARD_FILES Umgebungsvariable nur im Rahmen der codebuild-tests-run CLI verwendet werden kann.

Wenn Sie den Befehl CODEBUILD_CURRENT_SHARD_FILES inside test-command verwenden, setzen CODEBUILD_CURRENT_SHARD_FILES Sie außerdem doppelte Anführungszeichen, wie im obigen Beispiel gezeigt.