我有一个recyclerview,我正在尝试为此编写Espresso测试。问题是它从API接收数据,因此在测试时它没有数据,因此无论何时我这样做:
Espresso.onView(withId(R.id.recyclerList)).perform(actionOnItemAtPosition<ViewHolder>(2, ViewActions.click()))
我得到一个例外:
androidx.test.espresso.PerformException: Error performing 'actionOnItemAtPosition performing ViewAction: single click on item at position: 2'
但是当我在任何带有静态数据的recyclerview上运行测试时,它就可以工作。 那么,有没有办法在调用onClick之前将数据模拟到recyclerview中,或者问题出在其他方面? 请帮忙。
答案 0 :(得分:1)
您应该注册IdlingResource来使意式浓缩咖啡等到API调用完成。
如果使用的是OkHttp,则可以使用OkHttpIdligResource
。您可以在github回购中找到更多信息。