View a markdown version of this page

Configuración de pruebas paralelas con Kotlin - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de pruebas paralelas con Kotlin

El siguiente es un ejemplo de una buildspec.yml que muestra la ejecución de pruebas en paralelo con Kotlin en una plataforma Linux:

version: 0.2 batch: fast-fail: false build-fanout: parallelism: 2 ignore-failure: false phases: install: runtime-versions: java: corretto11 commands: - echo 'Installing dependencies' - KOTLIN_VERSION="1.8.20" # Replace with your desired version - curl -o kotlin-compiler.zip -L "https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_VERSION}/kotlin-compiler-${KOTLIN_VERSION}.zip" - unzip kotlin-compiler.zip -d /usr/local - export PATH=$PATH:/usr/local/kotlinc/bin - kotlin -version - curl -O https://repo1.maven.org/maven2/org/junit/platform/junit-platform-console-standalone/1.8.2/junit-platform-console-standalone-1.8.2.jar pre_build: commands: - echo 'prebuild' build: commands: - echo 'Running Kotlin Tests' - | codebuild-tests-run \ --test-command 'kotlinc src/main/kotlin/*.kt $(echo "$CODEBUILD_CURRENT_SHARD_FILES" | tr "\n" " ") -d classes -cp junit-platform-console-standalone-1.8.2.jar' \ --files-search "codebuild-glob-search 'src/test/kotlin/*.kt'" - | codebuild-tests-run \ --test-command ' java -jar junit-platform-console-standalone-1.8.2.jar --class-path classes \ $(for file in $CODEBUILD_CURRENT_SHARD_FILES; do class_name=$(basename "$file" .kt) echo "--select-class $class_name" done) ' \ --files-search "codebuild-glob-search 'src/test/kotlin/*.kt'" post_build: commands: - echo "Test execution completed"

En el ejemplo anterior, la CLI codebuild-tests-run se usa dos veces. Durante la primera ejecución, kotlinc compila los archivos. La variable CODEBUILD_CURRENT_SHARD_FILES recupera los archivos de prueba asignados a la partición actual, que luego se convierten en una lista separada por espacios. En la segunda ejecución, JUnit ejecuta las pruebas. Una vez más, CODEBUILD_CURRENT_SHARD_FILES recupera los archivos de prueba asignados a la partición actual, pero esta vez se convierten en nombres de clases.