在批量构建中启用并行测试执行
要并行运行测试,请更新批量构建 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 控制台中相应构建的报告选项卡下查看这些报告。
有关如何批量执行并行测试的更多信息,请参阅各种测试框架的并行测试执行示例。