使用kotlin时,在单元测试和仪器测试之间共享代码
类似的问题: 在Android Studio中的Android Instrumentation测试和单元测试之间共享代码
我的设置如下:
- 包含单元测试的
src/test
文件夹。 这些可以是Java或Kotlin类 - 包含仪器测试的
src/androidTest
。 这些也可以是Java或Kotlin类 -
src/sharedTest
是一个文件夹,它包含一系列在单元测试和测试测试之间共享的utils。
这个共享在Gradle中被定义为:
sourceSets { test.java.srcDirs += 'src/sharedTest/java' androidTest.java.srcDirs += 'src/sharedTest/java' }
这允许src/test
或src/androidTest
任何Java类访问utils。 但不是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源代码集。