Mot-clé en ligne Kotlin impliquant IntelliJ IDEA Rapports de couverture 0%

J'ai créé une fonction de test très simple comme ci-dessous

class SimpleClassTest { lateinit var simpleObject: SimpleClass @Mock lateinit var injectedObject: InjectedClass @Before fun setUp() { MockitoAnnotations.initMocks(this) } @Test fun testSimpleFunction() { simpleObject = lookupInstance() } inline fun lookupInstance() = SimpleClass(injectedObject) } 

Je l'exécute avec couverture … Le nombre de couverture de test est de 0%. Mais si je supprime le mot-clé en inline , le numéro de couverture de test s'affiche maintenant.

Est-ce un problème de Kotlin ou Android IntelliJ IDEA Coverage? (Note: la couverture JaCoco est bonne).

Remarque: j'utilise Android Studio 2.0 et Kotlin 1.0.2

  • SwitchCompat dessine des lignes supplémentaires
  • Android Studio 2.0 lance APK sur un autre appareil
  • Utilisation d'IntelliJ avec un plugin Android, plutôt que d'utiliser Android Studio
  • Besoin d'aide pour traiter une exception fatale causée par java.lang.IncompatibleClassChangeError
  • Comment obtenir le nombre total de lignes dans un projet Android Studio?
  • Créer un fichier de propriétés à l'aide de gradle
  • Impossible d'ajouter l'entrée '0' au cache localClassSetAnalysis.bin
  • Studio Android ne fonctionne pas
  • One Solution collect form web for “Mot-clé en ligne Kotlin impliquant IntelliJ IDEA Rapports de couverture 0%”

    Lorsqu'une fonction inline est compilée, le compilateur pèse essentiellement son corps sur le site d'appel (à la place de l'appel de fonction). Cela signifie que l'analyse de couverture ne peut pas dire que c'est une fonction inline car elle n'existe pas vraiment là où vous l'avez défini. En d'autres termes, ce comportement est un artefact naturel de ce que cela signifie pour qu'une fonction soit intégrée.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.