使用 Java(Maven)配置并行测试
以下 buildspec.yml 示例显示在 Linux 平台上使用 Java 并行执行测试:
version: 0.2 batch: fast-fail: false build-fanout: parallelism: 5 ignore-failure: false phases: pre_build: commands: - echo 'prebuild' build: commands: - echo "Running mvn test" - | codebuild-tests-run \ --test-command 'mvn test -Dtest=$(echo "$CODEBUILD_CURRENT_SHARD_FILES" | sed "s|src/test/java/||g; s/\.java//g; s|/|.|g; s/ /,/g" | tr "\n" "," | sed "s/,$//")' \ --files-search "codebuild-glob-search '**/test/**/*.java'" post_build: commands: - echo "Running post-build steps..." - echo "Test execution completed"
在给定的示例中,环境变量 CODEBUILD_CURRENT_SHARD_FILES 包含当前分片中的测试文件,用换行分隔。这些文件以 Maven 的 -Dtest 参数所接受的格式转换为以逗号分隔的类名称列表。