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.
<<>>