kotlin + espresso:未找到任何活动

kotlin + espresso: No activities found

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

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

java.lang.RuntimeException: No activities found. Did you forget to launch the activity by calling getActivity() or startActivitySync or similar?

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

@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()))
    }
}

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

我错过了什么?

找到了!更改:

@get:Rule @JvmField var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)

收件人:

 @Rule @JvmField var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)

(删除获取:)

对我来说

 @get:Rule
    val activityRule = ActivityScenarioRule(MainActivity::class.java)

有效