Kotlinisation du test Espresso
Exécution du fichier Java de conversion en fichier Kotlin
Lorsque j'exécute le test, j'obtiens l'exception suivante
org.junit.internal.runners.rules.ValidationError: The @Rule 'mActivityRule' must be public.
En effet, les propriétés déclarées dans Kotlin n'ont que des getters et des setters lorsqu'elles sont vues du côté Java et ne sont pas accessibles en tant que champs publics.
Si vous souhaitez accéder aux champs de la classe écrite en Kotlin depuis Java, ajoutez l'annotation @JvmField comme suit.
@Rule @JvmField
var mActivityRule = ActivityTestRule(HogeActivity::class.java)
Cela se produit parce que je ne connais pas les spécifications linguistiques de Kotlin, donc j'ai besoin d'apprendre les bases. J'espère que cela vous sera utile.
https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html https://proandroiddev.com/fix-kotlin-and-new-activitytestrule-the-rule-must-be-public-f0c5c583a865
Recommended Posts