Uso del comando codebuild-tests-run de la CLI - AWS CodeBuild

Uso del comando codebuild-tests-run de la CLI

AWS CodeBuild proporciona una CLI que tomará el comando de prueba y la ubicación del archivo de prueba como entrada. La CLI con estas entradas dividirá las pruebas en el número de particiones especificado en el campo parallelism basándose en los nombres de los archivos de prueba. La asignación de archivos de prueba a la partición se decide mediante la estrategia de partición.

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

En la siguiente tabla se describen los capos del comando codebuild-tests-run de la CLI.

Nombre del campo Tipo Obligatorio u opcional Definición

test-command

Cadena

Obligatorio

Este comando se usa para ejecutar las pruebas.

files-search

Cadena

Obligatorio

Este comando proporciona una lista de archivos de prueba. Puede utilizar el comando codebuild-glob-search de la CLI proporcionado por AWS CodeBuild o cualquier otra herramienta de búsqueda de archivos que prefiera.

nota

Asegúrese de que el comando files-search muestre los nombres de archivo, cada uno de ellos separado por una línea.

sharding-strategy

Enum

Opcional

Valores válidos: equal-distribution, (predeterminado), stability

  • equal-distribution: particione los archivos de prueba de manera uniforme en función de los nombres de los archivos de prueba.

  • stability: particione los archivos de prueba utilizando un hash coherente de los nombres de archivo.

Para obtener más información, consulte Acerca de la división de pruebas.

La codebuild-tests-run CLI trabaja primero para identificar la lista de archivos de prueba mediante el comando proporcionado en el parámetro files-search. A continuación, determina un subconjunto de archivos de prueba designados para la partición (entorno) actual mediante la estrategia de partición especificada. Por último, este subconjunto de archivos de prueba se formatea en una lista separada por espacios y se añade al final del comando proporcionado en el parámetro test-command antes de que se ejecute.

Para los marcos de prueba que no aceptan listas separadas por espacios, la codebuild-tests-run CLI proporciona una alternativa flexible a través de la variable de entorno CODEBUILD_CURRENT_SHARD_FILES. Esta variable contiene una lista separada por líneas de rutas de archivos de prueba designadas para la partición de compilación actual. Aprovechando esta variable de entorno, puede adaptarse fácilmente a varios requisitos del marco de pruebas y adaptarse a aquellos que requieren formatos de entrada diferentes de listas separadas por espacios. Además, también puede formatear los nombres de los archivos de prueba según las necesidades del marco de prueba. A continuación se ofrece un ejemplo de uso de CODEBUILD_CURRENT_SHARD_FILES en Linux con el marco Django. Aquí se usa CODEBUILD_CURRENT_SHARD_FILES para obtener rutas de archivo de notación de puntos compatibles con 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'
nota

Tenga en cuenta que la variable de entorno CODEBUILD_CURRENT_SHARD_FILES solo se puede utilizar dentro del ámbito de la codebuild-tests-run CLI.

Además, si utiliza CODEBUILD_CURRENT_SHARD_FILES dentro de test-command, escriba CODEBUILD_CURRENT_SHARD_FILES entre comillas dobles como se muestra en el ejemplo anterior.