मैं निम्नलिखित संरचना मिल गया है के साथ परीक्षण स्रोत से आंतरिक घटकों का उपयोग नहीं कर सकता:एंड्रॉयड
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
चलाने के लिए, मैं निम्नलिखित त्रुटि मिलती है:
Cannot access 'MyClass': it is 'internal' in 'pkg'
हालांकि, जब मैं प्लगइन्स स्विच java
बजाय com.android.application
उपयोग करने के लिए, और kotlin-android
के बजाय, परीक्षण सफल होते हैं।
एंड्रॉइड प्लगइन्स का उपयोग करते समय मैं अपने परीक्षण स्रोतों से आंतरिक कक्षाओं का संदर्भ कैसे दे सकता हूं?
यह कोटलिन के लिए ग्रैडल प्लगइन में एक बग है, एक फिक्स लगभग तैयार है, अगले बीटा अपडेट के साथ शामिल किया जाएगा। –
आह, ठंडा। क्या इसके लिए YouTrack पर कोई समस्या है? – nhaarman
https://youtrack.jetbrains.com/issue/KT-9441 –