我们的应用程序如下: [前端]< -restAPI-> [后端] 后端应该始终处于最新版本,并且可以支持多个版本的前端,如Ver1,Ver2等.restAPI协议可能会有微小的变化,甚至前端的反应方式(更多功能或不同的行为)。
此测试项目测试正确的通信,前端的行为方式以及服务正确数据的后端。 我们希望将相同的测试项目分支用于所有支持的版本,现在实际上只有很小的差异所以我们的java测试代码有
src
问题是拆分版本最优雅的方法是什么?现在它可以工作,但随着版本号的增加,它将变得一团糟。 我想有一个父@Test方法,并决定根据版本运行哪个子测试。
if (version == "ver1") {
....
} else if (version == "ver2") {
....
}
问题是,如果我的想法很好,也许有人遇到类似的问题。
答案 0 :(得分:1)
您的测试系统的责任"是测试。不是版本控制。
换句话说:"正确"这里的答案是使用源代码管理系统!
您的代码库包含
A)源代码 B)相关测试
因此,当您的产品具有多个不同版本时,应该通过将A)和B)一起在同一分支内进行管理。
而你的设置似乎是那些方面真的是分开的;和你的测试代码库" 不与您的产品代码控制的版本相同。这是要解决的关键点。
其他任何事情只是对抗症状!
[编辑]添加例子
Branch 1 - Version 1
Source for Version 1
Tests for Version 1
-------------------------------
Branch 2 - Version 2
Source for Version 2
Tests for Version 2
当新版本添加更多功能或更改行为时,应单独测试,并且应单独维护其来源!