1

假设我的 mvn 项目已经发布了一个主要版本。

所以主干是版本 2,我有一个版本 1 的分支。我想让开发人员在主干上自由编辑测试,但我也想保持从版本 2 到 1 的向后兼容性。有没有简单的方法来运行版本针对版本 2 源代码的 1 个分支集成测试。我正在考虑编译和移动测试 jar(不确定这是否可行),但这看起来很难看......只是为了澄清,单元测试类用Test.javawhere 表示集成测试用IT.java. 我只想运行集成测试

我最好能够运行类似的东西

mvn integration-tests -Dfailsafe.plugin.src="branch/version1".

或者,可以使用 Jenkins 或 Atlassian 竹插件。

4

2 回答 2

2

只需在执行前切换分支mvn failsafe:integration-test。这是常见的模式。

Maven Failsafe Plugin 不支持切换分支,也不支持版本控制系统 (VCS) - 这很好,因为这是其他插件的责任。

这很容易在 Jenkins 等工具中切换分支。每个分支创建一个作业,分支中代码的更改应该触发 jenkins 构建。Jenkis 支持私有 maven 存储库,这将有助于解决工件冲突。也可以与第二份工作共享第一份工作的工作空间(结果)。

在您的情况下,在 jenkins 中构建作业管道,在 master 的第一个作业之后从分支执行作业以验证集成测试。

于 2014-01-06T07:48:05.767 回答
1

到目前为止,我看到的最好的想法是打开版本控制系统,然后运行集成测试。

脚步

  1. svn co 主干
  2. mvn 干净安装
  3. svn 切换分支
  4. mvn 故障安全:集成测试
    • 如果您在此阶段运行 mvn integration-test,您将重建项目,因此您将测试您的分支/旧版本

我已经对此进行了编码并针对 svn/mvn/jenkins 堆栈对其进行了测试

于 2014-01-07T16:49:01.543 回答