View a markdown version of this page

Utilisez la commande CLI codebuild-tests-run - AWS CodeBuild

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisez la commande CLI codebuild-tests-run

AWS CodeBuild fournit une interface de ligne de commande qui prendra une commande de test et l'emplacement du fichier de test en entrée. La CLI avec cette entrée divisera les tests selon le nombre de partitions spécifié dans le parallelism champ en fonction des noms des fichiers de test. L'affectation des fichiers de test à la partition est décidée par la stratégie de partitionnement.

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

Le tableau suivant décrit les champs de la commande codebuild-tests-run CLI.

Nom de champ Type Obligatoire ou facultatif Définition

test-command

Chaîne

Obligatoire

Cette commande est utilisée pour exécuter les tests.

files-search

Chaîne

Obligatoire

Cette commande fournit une liste de fichiers de test. Vous pouvez utiliser la commande CLI codebuild-glob-search AWS CodeBuild fournie ou tout autre outil de recherche de fichiers de votre choix.

Note

Assurez-vous que la files-search commande génère des noms de fichiers séparés par une nouvelle ligne.

sharding-strategy

Enum

Facultatif

Valeurs valides : equal-distribution (par défaut), stability

  • equal-distribution: répartissez les fichiers de test de manière uniforme en fonction des noms des fichiers de test.

  • stability: partitionnez les fichiers de test en utilisant un hachage cohérent des noms de fichiers.

Pour de plus amples informations, veuillez consulter À propos du fractionnement des tests.

La codebuild-tests-run CLI fonctionne d'abord pour identifier la liste des fichiers de test à l'aide de la commande fournie dans le files-search paramètre. Il détermine ensuite un sous-ensemble de fichiers de test destinés à la partition actuelle (environnement) en utilisant la stratégie de partitionnement spécifiée. Enfin, ce sous-ensemble de fichiers de test est formaté dans une liste séparée par des espaces et ajouté à la fin de la commande fournie dans le test-command paramètre avant d'être exécuté.

Pour les frameworks de test qui n'acceptent pas les listes séparées par des espaces, la codebuild-tests-run CLI fournit une alternative flexible via la variable d'CODEBUILD_CURRENT_SHARD_FILESenvironnement. Cette variable contient une liste de chemins de fichiers de test séparés par de nouvelles lignes et désignés pour la partition de compilation en cours. En tirant parti de cette variable d'environnement, vous pouvez facilement vous adapter aux différentes exigences du framework de test, en tenant compte de ceux qui attendent des formats d'entrée différents des listes séparées par des espaces. De plus, vous pouvez également formater les noms des fichiers de test selon les besoins du framework de test. Voici un exemple d'utilisation de CODEBUILD_CURRENT_SHARD_FILES sous Linux avec le framework Django. CODEBUILD_CURRENT_SHARD_FILESIl est utilisé ici pour obtenir les chemins de fichiers en notation par points pris en charge par Django :

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'
Note

Notez que la variable d'CODEBUILD_CURRENT_SHARD_FILESenvironnement ne peut être utilisée que dans le cadre de la codebuild-tests-run CLI.

De plus, si vous utilisez la commande de test CODEBUILD_CURRENT_SHARD_FILES interne, mettez entre guillemets doubles comme indiqué dans CODEBUILD_CURRENT_SHARD_FILES l'exemple ci-dessus.