Gradle:如何管理测试实用程序的循环依赖

时间:2011-10-24 18:59:15

标签: java testing dependency-management gradle circular-dependency

我正在使用Gradle和Jenkins为我的Java项目设置自动构建测试发布周期。 AppTestFramework是我为录制,脚本和重放测试而编写的实用程序。它在App上有一些编译时依赖性。应用程序的JUnit测试依次使用AppTestFramework运行测试。

App的build.gradle:

dependencies {
  ...
  testCompile("org.kylewm:AppTestFramework:latest.integration")
}

AppTestFramework的build.gradle:

dependencies {
  compile("org.kylewm:App:latest.integration")
}

我不知道我是否应该将其描述为循环依赖,因为我可以把它分成三个项目:

  • 应用
  • AppTestFramework取决于App
  • AppUnitTests取决于App,AppTestFramework

我更愿意将它们作为单独的项目。如果它们必须是另一个build.gradle的子项目,那就没关系,但如果我有任何其他选择,我想避免它。谢谢!

1 个答案:

答案 0 :(得分:1)

魔鬼的拥护者:如果代码紧密耦合,你为什么要将它们作为单独的项目?

一个解决方案可能是保留一个项目但生成多个JAR,以便其他项目可以导入app.jarapp-testsupport.jar