Android测试中Kotlin报错“The @Rule must be public”
大家好!我是Kotlin Android开发新手,正在尝试使用Espresso编写我的第一个UI测试。根据网上的示例,我创建了一个测试类,并使用ActivityTestRule来启动Activity。这是我的代码:
```kotlin
@RunWith(AndroidJUnit4::class)
class MainActivityTest {
@Rule
@JvmField
val activityRule = ActivityTestRule(MainActivity::class.java)
@Test
fun testButtonClick() {
onView(withId(R.id.button)).perform(click())
onView(withText("Hello")).check(matches(isDisplayed()))
}
}
```
但当我运行测试时,收到错误:“The @Rule must be public”。我尝试了不同的方法:去掉`@JvmField`,将Rule设为public字段,但仍然报错。问题可能出在哪里?我使用的是最新版本的AndroidX Test。请告诉我如何在Kotlin中正确声明ActivityTestRule?提前感谢!
<<>>
问题:JUnit规则在Kotlin中需要特殊处理
错误“The