这可能是某处的重复,但某些答案是针对旧Gradle的,不再可用。请让我知道这是否可行。我有一个名为NewProject
的新项目。 NewProject
取决于common
项目,该项目位于另一个目录中。
- NewProject
- \build.gradle
- \settings.gradle
- \src
- \main\java
- \test\java
- common
- \build.gradle
- \settings.gradle
- \src
- \main\java
- \test\java
在NewProject
中,我的文件settings.gradle
如下
rootProject.anme = 'NewProject'
include ':common'
project(':common').projectDir = file('../common')
我的文件build.gradle
在依赖项部分
dependencies {
implementation project(':common')
...
testImplementation project(':common')
...
}
我遇到的问题有两个:
NewProject
中的测试找不到通用的测试类。例如BaseTest
等我尝试了以下方法:
使用testImplementation project(':common:test')
无效,因为无法识别':common:test'
。
使用testImplementation project(':common').sourceSets.output.classes
,但是这种方法对于Gradle 5.0及更高版本无效。
请告知我是否还有其他方法!
答案 0 :(得分:0)
需要什么?
:common
的测试类和测试资源目录必须位于:newProject
测试的类路径中
通过本地目录访问进行设置的一种方法-在:newProject
build.gradle
testImplementation files('../common/build/classes/java/test')
testImplementation files('../common/build/resources/test')
注意:这不会向:common
测试中过渡性地添加:newProject
测试依赖项,您必须手动进行。