我有以下结构:
build.gradle
src
- main
- AndroidManifest.xml
- kotlin
- pkg
- MyClass.kt (internal class MyClass)
- test
- kotlin
- pkg
- MyClassTest.kt
在MyClassTest.kt
中,我引用了internal class MyClass
。
build.gradle
:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
//apply plugin: 'java'
//apply plugin: 'kotlin'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
}
}
dependencies {
testCompile 'junit:junit:4.12'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
buildscript {
ext.kotlin_version = '1.0.0-beta-2423'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
repositories {
mavenCentral()
}
现在,当我运行./gradlew test
时,出现以下错误:
无法访问' MyClass':它是'内部'在' pkg'
但是,当我将插件切换为使用java
而不是com.android.application
和kotlin
而不是kotlin-android
时,测试确实成功。
在使用Android插件时,如何从测试源中引用内部类?