Intereting Posts
подавить предупреждение неиспользуемой переменной Получите дополнительную строку от активности Kotlin Как назначить значение параметру KMutableProperty? MQTT Android в режиме «Доза» (Android 7.0) Strange java.lang.ClassCastException при использовании вызова Функции расширения Котлина и функции-члены? Что означает этот код «DetailActivity.ID to it.id»? Каков наилучший способ определения константы log TAG в Kotlin? Proguard: Какое правило я могу добавить во избежание, не может найти ссылочный класс? Kotlin не компилируется из src / main / kotlin при использовании maven Конструкторы по умолчанию Kotlin Почему при создании этого проекта появляется ошибка «Нет дескрипторов сборки». Не удалось отобразить ошибку EditText в коде Kotlin Является ли Котлин «передачей по значению» или «передачей по ссылке»? Функцию можно написать в Котлине (т.е. на верхнем уровне). Могу ли я также тестировать те, кто находится на верхнем уровне?

Тестирование на Android-модуле класса Kotlin завершилось неудачей с «не может найти класс символов …»

Недавно я добавил плагин Kotlin в сборку своего Android-приложения, и теперь я хочу протестировать класс Kotlin в InstrumentationTestCase.

IntelliJ / Android Studio видит класс в редакторе, и кажется, что класс компилируется при запуске приложения, но когда я запускаю gradlew assembleTest он терпит неудачу с «не может найти символ [имя класса]».

В моем build.gradle я добавил папку kotlin как srcDir

 sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs += 'src/main/kotlin' } } 

Любой совет?

Изменить : проблема заключалась в конфликте между плагином Kotlin и Retrolambda и теперь разрешена.

Я из проекта Котлин. Не могли бы вы ответить на несколько вопросов, чтобы помочь мне воспроизвести вашу проблему? Вы запускаете gradlew assembleTest из IDE или из командной строки? У вас есть kotlin-stdlib в зависимостях?

 dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } 

Не могли бы вы предоставить нам свой проект? Я создал проблему в вашем трекере, так что будет здорово увидеть ваши ответы здесь http://youtrack.jetbrains.com/issue/KT-6015

Хотя вопрос рассматривается в другом ответе, это временное решение. Добавьте это в свой build.gradle:

 afterEvaluate { project -> project.tasks.findAll { it.name.startsWith('compile') && it.name.endsWith('DebugTestJava') }.each { Task task -> task.dependsOn copyKotlinToTest } } task copyKotlinToTest(type: Copy) { from new File(buildDir, 'tmp/kotlin-classes/debug') into new File(buildDir, 'tmp/kotlin-classes/debugTest') } 

Если у вас есть варианты сборки, вам необходимо настроить имена папок.