buildkite/plugin-testerBuildkite Plugin Tester 是一个基础 Docker 镜像,专为使用 BATS (Bash Automated Testing System) 测试 Buildkite 插件而设计。该镜像提供了一致的测试环境,简化了 Buildkite 插件的开发和测试流程。
bashdocker run --rm -v "$(pwd):/plugin" buildkite/plugin-tester
yamlversion: '3' services: test: image: buildkite/plugin-tester volumes: - .:/plugin environment: - PLUGIN_TEST_DEBUG=true - BATS_REPORT_FORMAT=junit
| 环境变量 | 描述 | 默认值 |
|---|---|---|
PLUGIN_PATH | 插件目录路径 | /plugin |
TEST_PATH | 测试文件路径 | /plugin/tests |
BATS_FILE_PATTERN | BATS 测试文件匹配模式 | *.bats |
PLUGIN_TEST_DEBUG | 启用调试模式 | false |
BATS_REPORT_FORMAT | 测试报告格式 (tap/junit) | tap |
BATS_JUNIT_REPORT_PATH | JUnit 报告输出路径 | /plugin/report.xml |
建议在插件项目中使用以下目录结构:
/plugin ├── hooks │ ├── command │ ├── pre-command │ └── post-command └── tests ├── command.bats ├── pre-command.bats └── post-command.bats
在 .buildkite/pipeline.yml 中集成测试步骤:
yamlsteps: - label: ":test_tube: Test plugin" plugins: - docker#v3.8.0: image: "buildkite/plugin-tester" volumes: - "./:/plugin"
bashdocker run --rm -v "$(pwd):/plugin" buildkite/plugin-tester bats tests/specific-test.bats
bashdocker run --rm -v "$(pwd):/plugin" -e BATS_REPORT_FORMAT=junit buildkite/plugin-tester
bashdocker run --rm -it -v "$(pwd):/plugin" --entrypoint /bin/bash buildkite/plugin-tester
创建 tests/command.bats 文件:
bash#!/usr/bin/env bats @test "command hook runs successfully" { run buildkite-plugin-tester hook command assert_success assert_output --partial "Hello from plugin command hook" } @test "plugin configuration is applied" { run buildkite-plugin-tester env -- plugin=my-plugin config-key=value assert_success assert_env "PLUGIN_CONFIG_KEY" "value" }

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务