java - 通过单击 View 检查 Espresso 是否启动了新 Activity

标签 java android testing kotlin android-espresso

单击此按钮时,我有一个按钮,开始 Activity A。

 startActivityForResult(Intent(this, A::class.java)

我需要在点击按钮时检查 Espresso 测试,是否开始 Activity A?

onView(withId(R.id.button))
       .check(matches(isDisplayed()))
       .check(matches(isEnabled()))
       .perform(click())

        // check is this A Activity start or not?

最佳答案

您可以使用 espresso-intents 包。

首先,尝试将最新版本添加到您的 build.gradle 中:

   androidTestImplementation "androidx.test.espresso:espresso-intents:3.1.1"

然后,使用 IntentsTestRule 检查您的 Intent 是否已启动:

    @get:Rule
    val intentRule = IntentsTestRule(MainActivity::class.java)

    @Test
    fun verify_FakeActivity_is_started() {
        onView(withId(R.id.button))
            .check(matches(isDisplayed()))
            .check(matches(isEnabled()))
            .perform(click())

        intended(hasComponent(FakeActivity::class.java.name))
    }

关于java - 通过单击 View 检查 Espresso 是否启动了新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56405821/

相关文章:

eclipse - 在本地机器上进行 Java AppEngine 后端测试

java - 如何从 excel 表中获取特定列的数据,以在 java 中使用 POI 将它们存储在对象数组列表中?

java - 更新 Google App Engine 模块

android - 如何为位图添加外发光?

api - GraphQL API - 任何用于测试它的自动化工具?

java - 如何模拟从内部 API 集成测试中调用的外部 API 的响应

java - JavaFX,nullpointerexceltion,需要位置

c# - 如何从 XobotOS 构建/使用锐化?

android - MediaPlayer 插件不工作

java - Android计算两个日期之间的天数