在批量构建中启用并行测试执行 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在批量构建中启用并行测试执行

要并行运行测试,请更新批量构建 buildspec 文件,以包含构建扇出字段和要在 parallelism 字段中拆分测试套件的并行构建的数量,如下所示。parallelism 字段指定设置多少个独立的执行程序来执行测试套件。

要在多个并行执行环境中运行测试,请将 parallelism 字段设置为大于零的值。在下面的示例中,parallelism 设置为 5,这意味着 CodeBuild 启动五个相同的构建,以并行执行测试套件的一部分。

可以使用 codebuild-tests-run CLI 命令来拆分和运行测试。测试文件将被拆分,并且将在每个构建中运行测试的一部分。这减少了运行完整测试套件所花的总时间。在以下示例中,测试将分成五个部分,并根据测试的名称计算拆分点。

version: 0.2 batch: fast-fail: false build-fanout: parallelism: 5 ignore-failure: false phases: install: commands: - npm install jest-junit --save-dev pre_build: commands: - echo 'prebuild' build: commands: - | codebuild-tests-run \ --test-command 'npx jest --runInBand --coverage' \ --files-search "codebuild-glob-search '**/_tests_/**/*.test.js'" \ --sharding-strategy 'equal-distribution' post_build: commands: - codebuild-glob-search '**/*.xml' - echo "Running post-build steps..." - echo "Build completed on `date`" reports: test-reports: files: - '**/junit.xml' base-directory: . discard-paths: yes file-format: JUNITXML

如果为构建扇出构建配置了报告,则会分别为每个构建生成测试报告,可以在 Amazon CodeBuild 控制台中相应构建的报告选项卡下查看这些报告。

有关如何批量执行并行测试的更多信息,请参阅各种测试框架的并行测试执行示例