Android 使用 Kotlin 尝试迭代 ChipGroup 的 Espresso 测试
Android Espresso testing using Kotlin trying to iterate through ChipGroup
我的应用程序有 ChipGroup
个,里面有单独的 Chip
个。 (Documentation) and (Description)
我想做的是使用 Android 中的 Espresso 库来测试这些组件的功能。我想单击 Chip
s,尤其是它们的关闭按钮,以删除它们并检查它们是否已实际删除等。我无法找到有关遍历 ChipGroup
s 的信息,例如使用 foreach
。 Espresso.onView()
或 .perform()
等方法缺少此功能。我最接近的是看到关于 RecyclerView
s 和 ListView
s 的信息。
我查看了文档 here and the cheatsheet 等。知道我应该如何测试这些组件吗?
作为一个选项:
fun chipContainsText(text: String) {
onView(allOf(withText(containsString(text)), isAssignableFrom(Chip::class.java))).check(matches(isDisplayed()))
}
我用它:
chipContainsText(1000)
一般来说,使用 isAssignableFrom(CLASS_NAME::class.java)
在困难的情况下总是很有帮助。
布局截图:
我的应用程序有 ChipGroup
个,里面有单独的 Chip
个。 (Documentation) and (Description)
我想做的是使用 Android 中的 Espresso 库来测试这些组件的功能。我想单击 Chip
s,尤其是它们的关闭按钮,以删除它们并检查它们是否已实际删除等。我无法找到有关遍历 ChipGroup
s 的信息,例如使用 foreach
。 Espresso.onView()
或 .perform()
等方法缺少此功能。我最接近的是看到关于 RecyclerView
s 和 ListView
s 的信息。
我查看了文档 here and the cheatsheet 等。知道我应该如何测试这些组件吗?
作为一个选项:
fun chipContainsText(text: String) {
onView(allOf(withText(containsString(text)), isAssignableFrom(Chip::class.java))).check(matches(isDisplayed()))
}
我用它:
chipContainsText(1000)
一般来说,使用 isAssignableFrom(CLASS_NAME::class.java)
在困难的情况下总是很有帮助。
布局截图: