多仓库场景下E2E测试的最优存放位置及最佳实践咨询
避免E2E测试代码重复的最优存放方案
推荐方案
1. 独立测试仓库
将4个E2E测试代码单独托管在一个独立仓库(例如SharedE2ETests),两个主仓库通过以下方式引入测试:
- Git子模块:在主仓库执行
git submodule add <测试仓库地址>,部署完成后直接运行子模块内的测试脚本 - 私有包依赖:如果是Node.js、Python这类支持包管理的项目,把测试代码打包成私有包,主仓库通过包管理工具安装后调用测试命令
- 核心优势:彻底消除代码重复,测试逻辑统一维护,一次修改同步覆盖所有主仓库
2. 主仓库共享目录(适用于强关联项目)
若两个主仓库属于同系列项目,可在其中一个主仓库(如MainRepository1)维护公共测试代码,另一个主仓库通过CI/CD流程同步:
- 在部署阶段结束后,通过脚本从
MainRepository1的指定目录拉取测试代码到MainRepository2的测试目录,再执行测试 - 注意:此方案依赖主仓库的目录结构,灵活性不如独立仓库
关键实践要点
- 测试与业务代码解耦:测试仅依赖部署后的服务端点或环境变量,不直接引用主仓库的业务逻辑
- 统一测试入口:在测试仓库封装通用启动脚本,主仓库只需传入目标服务地址等参数即可执行
- CI/CD流水线集成:将测试执行步骤添加到两个主仓库的部署流水线末尾,测试失败则终止发布流程
内容的提问来源于stack exchange,提问作者OmerHanan
相关产品推荐
相关产品推荐

