工程布局
工程 network-api
-> src/main/java
-> src/test/java
-> src/main/java
-> src/test/java
工程 network-biz
-> src/main/java (依赖工程 network-api的 src/main/java 下的文件)
-> src/test/java (依赖工程 network-api的 src/main/java 下的文件)
-> src/main/java (依赖工程 network-api的 src/main/java 下的文件)
-> src/test/java (依赖工程 network-api的 src/main/java 下的文件)
当编写network-biz
的测试用例的时候,在build.gradle
中增加
1 2 3 4 5 |
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' testCompile project(':network-api') } |
此时会发现network-biz
编写的测试用例是无法编译通过的,提示找不到类定义。
这个问题是由于Android Studio没有正确的处理testCompile project
导致的,这个BUG在Android Studio 2.0.0 Beta7版本中才获得修复,目前使用Canary Channel
升级到最新的Android Studio 2.1 Preview 1
版本以后是可以修正这个问题的。
参考链接:
Gradle (Android) - Multiproject dependency missing in testCompile
issue 200952: Library modules not added to classpath for testsz