ฉันกำลังพยายามรับปลั๊กอิน Gradle Java เพื่อทำการทดสอบ jUnit ที่มีอยู่ในโครงการ Android โซลูชันของฉันคือการสร้างโมดูลที่สองที่ใช้ปลั๊กอิน Java และตั้งค่า test sourceSet เป็นไดเร็กทอรี src/test ของโมดูลแอป
build.gradle ของโมดูลทดสอบ:
apply plugin: 'java'
...
dependencies {
...
testCompile project(':app-module')
}
sourceSets {
test {
java.srcDirs += ["${appDir}/src/test/java"]
}
}
วิธีนี้ทำงานได้ดีจากบรรทัดคำสั่ง แต่ Android Studio ปฏิเสธที่จะนำเข้าโปรเจ็กต์ที่มีชุดแหล่งที่มานอกโมดูลย่อย มันส่งข้อผิดพลาด: Can't register given path of type 'TEST' because it's out of content root.
.
├── app-module
│ ├── build.gradle
│ └── src
│ ├── main
│ └── test
├── test-module
│ └── build.gradle
├── build.gradle
└── settings.gradle
ฉันพยายามกำหนดค่านี้จาก parent build.gradle แต่นั่นไม่ได้เปลี่ยนแปลงอะไรเลย ฉันสามารถเพิ่ม app-module เป็นการพึ่งพาโปรเจ็กต์ testCompile ใน test-module ได้ แต่นั่นไม่ได้ทำให้ test-module เพิ่มการทดสอบของ app-module
มีแนวคิดใดในการรับโมดูลทดสอบเพื่อรันการทดสอบของโมดูลแอปโดยไม่กระตุ้นข้อ จำกัด ของ Android Studio เกี่ยวกับชุดแหล่งที่มาระยะไกล