Java gradle测试项目的惯用结构
任务:我拥有的是一个大型非梯度(make:-)项目,它包含许多子项目,每个子项目都在它自己的子目录中。我必须为其中一些子项目编写功能测试。这些子项目产生独立的结果,但具有相同的结构,因此有许多用于测试这些子项目的通用代码,因此我想在一些特殊位置共享这些代码 限制:Java gradle测试项目的惯用结构,java,gradle,organization,Java,Gradle,Organization,任务:我拥有的是一个大型非梯度(make:-)项目,它包含许多子项目,每个子项目都在它自己的子目录中。我必须为其中一些子项目编写功能测试。这些子项目产生独立的结果,但具有相同的结构,因此有许多用于测试这些子项目的通用代码,因此我想在一些特殊位置共享这些代码 限制: 根据开发人员的要求,子项目的测试应该在该子项目的目录中(准确地说,在子目录中,例如,func_tests) 对于我的测试项目,我有一些共享的依赖项,我通常使用这些依赖项,例如,Google Guava、TestNG等等,还有一些测试
- 根据开发人员的要求,子项目的测试应该在该子项目的目录中(准确地说,在子目录中,例如,
)func_tests
- 对于我的测试项目,我有一些共享的依赖项,我通常使用这些依赖项,例如,Google Guava、TestNG等等,还有一些测试运行的设置(
…),我更喜欢这些设置是通用的,但这并不重要excludeGroups'slow'
- 符号链接是可以接受的方式,如果这是一个好的设计:)
- 如果可能的话,我想让IntelliJ IDEA正确处理这种依赖关系
- 将每个测试子项目的
符号链接到某个公共目录(src/main
为“单个”)。这将极大地支持IDE,但会导致复制所有依赖项和首选项。另外,我也很不确定,这是否是格拉德尔的首选方式src/test
- 创建公共项目,这将由每个子项目完成,这将保存依赖项(会吗?),但我不确定IDEA是否会以这种方式正确处理
Gradle的惯用方法是什么?查看Gradle安装中的
samples/java/withIntegrationTests
。这将使您了解如何添加测试(还有其他方法)。您需要调整该设置,以确保IDEA能够处理您的测试。这是通过自定义idea.module.scopes
完成的
共享代码和共享库:您可以创建一个类似映射的库,并在不同的子项目中使用它。顺便说一句:Gradle codebase有很多集成测试,你可以检查他们的构建是如何配置的,看看你是否想应用一些想法