Avatar ·

Error @Rule en Kotlin: cómo solucionar «The @Rule must be public» en pruebas de Android

¡Hola a todos! Acabo de empezar a aprender sobre pruebas en Android usando Espresso y Kotlin. Tengo una clase de prueba simple para una Activity y estoy intentando usar `ActivityTestRule`. El código se ve así: ```kotlin @RunWith(AndroidJUnit4::class) class MainActivityTest { @Rule val activityRule = ActivityTestRule(MainActivity::class.java) @Test fun testButtonClick() { onView(withId(R.id.my_button)).perform(click()) } } ``` Pero cuando ejecuto la prueba, obtengo el error: ``` java.lang.Exception: The @Rule must be public ``` Busqué en Google y dicen que en Java el campo debe ser `public`, pero en Kotlin declaré `val` — ¿acaso eso no es un campo público? Intenté agregar `@JvmField`, pero aún así no funciona. ¿Podrían indicarme cómo declarar correctamente `ActivityTestRule` en Kotlin para que la prueba se ejecute? Estoy usando las últimas versiones de las bibliotecas: espresso-core 3.5.1, test runner 1.5.0. Agradecería una explicación detallada. <<>>

Por qué ocurre