kotlin + espresso:未找到任何活动

Geo*_*tic 6 android kotlin android-testing android-espresso

一年后回到 Android 开发,我又对浓缩咖啡感到困惑-_-

我只是想设置一个简单的浓缩咖啡测试,但它失败了:

java.lang.RuntimeException:未找到活动。您是否忘记通过调用 getActivity() 或 startActivitySync 或类似方法启动活动?

事实上,我没有看到正在启动的应用程序。这是代码:

@RunWith(AndroidJUnit4::class)
@LargeTest
class EfficioTest {
    @get:Rule @JvmField var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)

    private fun getActivity() = activityRule.activity

    @Test fun testInitState() {
        onView(withId(R.id.store_spinner)).check(matches(isDisplayed()))
    }
}
Run Code Online (Sandbox Code Playgroud)

MainActivity 位于清单中,并且在使用启动器启动时工作正常。

我错过了什么?

Geo*_*tic 8

找到了!更改:

@get:Rule @JvmField var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)
Run Code Online (Sandbox Code Playgroud)

到:

 @Rule @JvmField var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)
Run Code Online (Sandbox Code Playgroud)

(删除获取:)