With Android Studio 3.0/Android_gradle_version = '3.0.1'/gradle-4.5
2つのAndroidモジュールがあるとしましょう
_module-base
module-a
_
Module-aのmodule-baseからソースにアクセスしたい場合は、module-a.gradleにこれを書き込む必要があります。
_dependencies {
implementation project(path: ':module-base')
}
_
しかし、module-aのテストでmodule-baseからテストソースにアクセスしたい場合はどうなりますか?? 上記のようなアプローチは機能しません
_dependencies {
testImplementation project(path: ':module-base')
}
_
私は次のようなことを言うアドバイス(数歳)をたくさん見つけました
_ compileTestJava.dependsOn tasks.getByPath(':module-base:testClasses')
testCompile files(project(':module-base').sourceSets.test.output.classesDir)
_
またはtestCompile project(':module-base).sourceSets.test.classes
しかし、言及された作品からの誰も。コンパイラの観点からは常に何か問題があります:-/
誰かがAndroid 2つのモジュール間のコード依存関係をテストする方法を教えてくれませんか?
実際、私はこれに対する回避策を見つけました。 module-baseのテストソースを使用しないでください。ただし、次のように定義されているテスト関連モジュールmodule-testutilsのソースを使用してください。
dependencies{
testImplementation project(':module-testutils')
}
したがって、テスト不可能なapkから除外される共通のテストコードを共有できます。