我正在编写一个依赖foo
的java库bar:1.1+
。
但是库bar
已经发生了很大的变化,我希望确保我的库与bar
的每个版本都兼容(1.1
... 1.10
)。
所以我希望(在CI期间)使用包含bar:1.X
的类路径运行每个单元测试,每个版本都可用bar
。
我正在使用gradle和junit / spock,但我愿意接受各种变化的解决方案。
对,我可以通过gradle测试任务复制,但这非常麻烦,测试结果可能难以聚合。 理想情况下,我会在我的测试旁边定义它应该运行哪些版本的条,例如:
@RunWith("com.acme:bar:1.1..1.10")
public class MyTest { ... }
但我找不到工具/跑步者。
答案 0 :(得分:0)
这与Maven有关,但不确定它如何适合CI,但可能会帮助您入门。
一种选择可能是使用Maven Archetype <-
更多信息
使用mvn archetype:generate
,您可以使用动态需要的版本生成项目
mvn archetype:generate
-DarchetypeGroupId=<archetype-groupId>
-DarchetypeArtifactId=<archetype-artifactId>
-DarchetypeVersion=<archetype-version>
-DgroupId=<my.groupid>
-DartifactId=<my-artifactId>
-Dversion=<custom-version>