我已经进行了这项测试,我想断言某个特定的物品正在通过翻新的方式进行加载并在recyclerview中显示。
我已经调试了,我知道Web请求响应成功,并按预期返回了电影列表。
@Test
fun findItem_checkItsText() {
val result = tmdbApi.getMovies(AppConstants.LANGUAGE, 1).execute()
if(result.isSuccessful) {
val movieTitle = result.body()?.results?.get(0)?.title
onView(withText(movieTitle)).check(matches(isDisplayed()))
} else {
AssertionFailedError()
}
}
测试失败,并显示androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "Hustlers"
消息(Hustlers
是位置0
的电影的标题),我不知道为什么。如何检查数据是否已加载并显示在recyclerview项目中?
答案 0 :(得分:0)
您可以在“ val movieTitle”和“ onView”之间设置Thread.sleep()。 如果这样做有效,请为您的文本创建空闲资源。 (https://developer.android.com/training/testing/espresso/idling-resource)