用于测试不同客户端和服务器版本的最佳Git策略

ita*_*kel 6 versioning git testing maven

我希望能够为Java客户端/服务器运行集成测试(使用嵌入式jetty).此外,我希望能够在集成测试期间混合和匹配不同的服务器和客户端源代码版本.

我想知道什么是最好的git或maven版本策略来完成这个:

  1. 对客户端和服务器使用相同的git存储库,很难签出各种服务器版本的代码并根据各种客户端版本的代码进行测试.

  2. 使用单独的git存储库(第一个存储库与客户端src和集成测试,第二个存储库与服务器src) - 它还需要检出两个存储库以运行集成测试,并假设它们之间的相对路径.

  3. 仅针对maven版本服务器WAR测试客户端src代码可能导致开发人员针对与签出的服务器源代码不匹配的服务器WAR运行测试的诚实错误.

pla*_*rms 1

我建议保持过程简单,因为您已经有足够的变量,而不会引入潜在的 git 管理问题。为此,我会避免使用子模块。相反,我会给开发人员明确的分支/标签配对,以测试测试矩阵中的客户端和服务器存储库。

使用标签,以便您将来可以更轻松地在矩阵中再次重复使用和重复相同的测试,尤其是在第一轮修复错误之后。

简而言之,我推荐您的解决方案#2。相对路径假设比子模块引入的潜在混乱更可取。