Android Unit Test of Kotlin class falla con "no se puede encontrar la class de símbolo …"

Recientemente agregué el complemento de Kotlin a la compilation de mi aplicación de Android y ahora quiero probar una class de Kotlin en un InstrumentationTestCase.

IntelliJ / Android Studio ve la class en el editor y parece que la class está comstackda al iniciar la aplicación, pero cuando lance gradlew assembleTest falla con "no se puede encontrar el símbolo [nombre de la class]".

En mi build.gradle agregué la carpeta kotlin como srcDir

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

¿Algún consejo?

Editar : El problema fue un conflicto entre Kotlin y el complemento Retrolambda y ahora está resuelto.

Soy del Proyecto Kotlin. ¿Podría responder algunas preguntas para ayudarme a reproducir su problema? Ejecuta gradlew assembleTest de IDE o de la command-line? ¿Tienes kotlin-stdlib en dependencies?

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

¿Podría proporcionarnos su proyecto? He creado un problema en su rastreador, por lo que sería genial ver sus respuestas aquí http://youtrack.jetbrains.com/issue/KT-6015

Si bien el problema se está investigando en la otra respuesta, aquí hay una solución temporal. Agregue esto a su 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') } 

Si tiene variantes de compilation, deberá ajustar los nombres de las carpetas.

  • Kotlin. Aplicación básica de JavaFX
  • Cómo depurar secuencias / collections de Kotlin
  • Kotlin: aplicar vs con
  • Parece que no puedo orderar mi Kotlin Recycler Multiple View Code
  • Lista mutable de Obersable <Object> espere hasta que todos terminen y combínelos en una list <Object>
  • Analizando JSON con el análisis divertido de Kotlin JS <T> (text: String): T`?
  • Lanzamiento inteligente a kotlin.String
  • split kotlin de arguments nullable
  • Gradle compileKotlin includeRuntime no agrega time de ejecución para jar
  • kotlin.jvm.KotlinReflectionNotSupportedError: la implementación de la reflexión de Kotlin no se encuentra en el time de ejecución. Asegúrate de tener kotlin-reflect.jar
  • ¿Cómo definir un miembro delegado que se puede anotar en Kotlin?