类似问题:Sharing code between Android Instrumentation Tests and Unit Tests in Android Studio
我的设置如下:
src/test
包含单元测试的文件夹。这些可以是 Java 或 Kotlin 类src/androidTest
包含仪器测试。这些也可以是 Java 或 Kotlin 类src/sharedTest
是一个文件夹,其中包含一组在单元测试和仪器测试之间共享的实用程序。
本次分享在gradle中定义为:
sourceSets {
test.java.srcDirs += 'src/sharedTest/java'
androidTest.java.srcDirs += 'src/sharedTest/java'
}
这允许 src/test
或 src/androidTest
中的任何 Java 类访问实用程序。但不是 Kotlin 单元测试。我的假设是它们没有添加到 sourceSets。
我的问题是:如何添加它们?我试过:
sourceSets {
test.kotlin.srcDirs += 'src/sharedTest/java'
}
但这似乎行不通。
最佳答案
默认设置将使 Kotlin 源代码集对 Java 编译器和 IDE 可见:
android {
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
test.java.srcDirs += 'src/sharedTest/java'
androidTest.java.srcDirs += 'src/sharedTest/java'
}
}
您无需自行配置 Kotlin 源代码集。
关于java - 使用 kotlin 时在单元测试和仪器测试之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506838/