Avatar ·

Erreur @Rule en Kotlin : comment corriger « The @Rule must be public » dans les tests Android

Bonjour à tous ! Je viens de commencer à me familiariser avec les tests sur Android en utilisant Espresso et Kotlin. J'ai une classe de test simple pour une Activity, et j'essaie d'utiliser `ActivityTestRule`. Le code ressemble à ceci : ```kotlin @RunWith(AndroidJUnit4::class) class MainActivityTest { @Rule val activityRule = ActivityTestRule(MainActivity::class.java) @Test fun testButtonClick() { onView(withId(R.id.my_button)).perform(click()) } } ``` Mais quand je lance le test, j'obtiens l'erreur : ``` java.lang.Exception: The @Rule must be public ``` J'ai cherché sur Google, on dit qu'en Java il faut rendre le champ `public`, mais en Kotlin j'ai déclaré `val` — n'est-ce pas un champ public ? J'ai essayé d'ajouter `@JvmField`, mais ça ne fonctionne toujours pas. Dites-moi comment déclarer correctement `ActivityTestRule` en Kotlin pour que le test s'exécute ? J'utilise les dernières versions des bibliothèques : espresso-core 3.5.1, test runner 1.5.0. Je vous serais reconnaissant pour une explication détaillée. <<>>

Pourquoi l'err