我可以轻松地从Maven(Failsafe插件)对不同版本的分支运行集成测试吗?

时间:2014-01-06 06:43:11

标签: maven jenkins integration-testing bamboo maven-failsafe-plugin

假设我的mvn Project已经发布了主要版本。

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

我最好能够运行像

这样的东西
IT.java

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

2 个答案:

答案 0 :(得分:2)

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

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

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

在你的案例中,jenkins中的构建作业管道,在主要执行作业的第一个作业之后从分支到验证集成测试。

答案 1 :(得分:1)

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

<强>步骤

  1. svn co trunk
  2. mvn clean install
  3. svn switch branch
  4. mvn failsafe:integration-test
    • 如果您在此阶段运行mvn integration-test,您将重建项目,因此您将测试您的分支/旧版本
  5. 我已对此进行了编码,并针对svn / mvn / jenkins堆栈进行了测试