
kubeshop/testkube-ginkgo-executorTestkube Ginkgo执行器是Testkube的测试执行器,专为在Testkube环境中运行Ginkgo测试而设计。它支持Ginkgo v2版本,通过Git仓库拉取测试代码,提供丰富的参数配置测试执行流程,并自动生成和归档测试报告至Testkube。
适用于在Testkube中运行Ginkgo v2测试的场景,尤其适合测试代码存储在Git仓库中的Golang项目。支持通过参数灵活定制测试流程,满足不同测试需求(如指定测试包、并行执行、生成特定格式报告等)。
此执行器不支持Ginkgo v1版本,仅兼容Ginkgo v2。
示例 testkube create test 命令(按分支指定Git仓库):
bash$ testkube create test --git-uri <包含Ginkgo测试的Golang仓库URI> --git-branch main --name ginkgo-test --type ginkgo/test --git-username <Git用户名> --git-token=<Git令牌>
示例 testkube create test 命令(按提交ID指定Git仓库):
bash$ testkube create test --git-uri <包含Ginkgo测试的Golang仓库URI> --git-commit <Git提交ID/SHA> --name ginkgo-test --type ginkgo/test --git-username <Git用户名> --git-token=<Git令牌>
通过 -v 变量传入或覆盖Ginkgo参数:
GinkgoTestPackage:默认值 "",指定测试包路径GinkgoRecursive:默认值 -r,递归执行所有子目录测试GinkgoParallel:默认值 -p,启用并行测试执行GinkgoParallelProcs:默认值 "",用法 --procs N,指定并行进程数GinkgoCompilers:默认值 "",用法 --compilers N,指定编译进程数GinkgoRandomize:默认值 --randomize-all,随机化所有测试用例顺序GinkgoRandomizeSuites:默认值 --randomize-suites,随机化测试套件顺序GinkgoLabelFilter:默认值 "",用法 --label-filter QUERY,按标签筛选测试GinkgoFocusFilter:默认值 "",用法 --focus REGEXP,按正则表达式聚焦测试GinkgoSkipFilter:默认值 "",用法 --skip REGEXP,按正则表达式跳过测试GinkgoUntilItFails:默认值 "",用法 --until-it-fails,重复执行直到失败GinkgoRepeat:默认值 "",用法 --repeat N,重复执行测试N次GinkgoFlakeAttempts:默认值 "",用法 --flake-attempts N,失败后重试N次GinkgoTimeout:默认值 "",用法 --timeout=duration,设置测试超时时间(如5m)GinkgoSkipPackage:默认值 "",用法 --skip-package list,of,packages,跳过指定包GinkgoFailFast:默认值 "",用法 --fail-fast,第一个失败后停止测试GinkgoKeepGoing:默认值 "--keep-going",用法 --keep-going,即使有失败也继续执行GinkgoFailOnPending:默认值 "",用法 --fail-on-pending,未实现的测试标记为失败GinkgoCover:默认值 "",用法 --cover,启用覆盖率分析GinkgoCoverProfile:默认值 "",用法 --coverprofile cover.profile,指定覆盖率报告文件GinkgoRace:默认值 "",用法 --race,启用数据竞争检测GinkgoTrace:默认值 "--trace",启用详细跟踪输出GinkgoJsonReport:默认值 "",用法 --json-report report.json,生成JSON格式报告GinkgoJunitReport:默认值 "--junit-report report.xml",生成JUnit格式报告GinkgoTeamCityReport:默认值 "",用法 --teamcity-report report.teamcity,生成TeamCity格式报告在 testkube run test 命令中添加 --args '--base-url=example.com --some-arg=value' 以传递额外参数给Ginkgo。
testkube run test ginkgo-test -f:执行名为 ginkgo-test 的Testkube测试,递归运行仓库中所有Ginkgo测试(使用默认 -r 标志)。testkube run test ginkgo-test -f -v GinkgoTestPackage=e2e:执行 ginkgo-test,覆盖 GinkgoTestPackage 参数以运行仓库中的 e2e 包。testkube run test ginkgo-test -f -v GinkgoSkipPackage="--skip-package other,other2" -v GinkgoParallel="":执行测试,跳过 other 和 other2 包,并关闭并行执行。testkube run test ginkgo-test -f -v GinkgoTestPackage=e2e ---args '--base-url=example.com':执行 e2e 测试包,并传递 base-url=example.com 作为Ginkgo的额外参数。默认生成JUnit报告(必需,用于Testkube结果解析),可选启用JSON和/或TeamCity报告。所有生成的报告将由执行器自动归档并存储到Testkube中。
Ginkgo执行器实现了Testkube执行器OpenAPI(查看executor标签)。



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