Espresso、RecyclerView 和 ComposeView

问题描述 投票:0回答:1

我正在使用 Espresso 测试 ViewHolder 中带有 RecyclerView 和 ComposeView 的屏幕。 我想单击 RecyclerView 中的特定可组合项 谢谢

android android-recyclerview android-jetpack-compose android-espresso android-testing
1个回答
0
投票

为了与基于视图的 UI 中的可组合项进行交互,您需要将

ComposeTestRule
添加到 UI 测试中,如下所示:

@get:Rule
val composeTestRule = createEmptyComposeRule()

现在您可以使用它来识别特定的可组合项并对其执行操作:

composeTestRule.onNode(hasText("Text inside compose view")).performClick()

识别特定可组合项的另一种方法是通过标签,您需要首先在可组合项本身上设置:

Text(
    text = "Some text",
    modifier = Modifier.testTag("textTag")
)

然后在你的测试中:

composeTestRule.onNode(hasTestTag("textTag")).assertIsDisplayed()

编写测试规则需要以下依赖:

androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
© www.soinside.com 2019 - 2024. All rights reserved.