测试按钮单击RecyclerView

时间:2018-12-29 04:20:03

标签: android unit-testing junit robolectric

我想使用Robolectricperformclick的按钮上测试recyclerview,我希望看到它可以打开我想要的activity。这就是我所做的但这不允许我单击一个按钮。

ActivityController<MyActivity> activityController = Robolectric.buildActivity(MyActivityclass);
activityController.create().start().visible();

ShadowActivity myActivityShadow = shadowOf(activityController.get()); 

RecyclerView currentRecyclerView = ((RecyclerView) myActivityShadow.findViewById(R.id.myrecyclerid));
currentRecyclerView.getChildAt(0).performClick();

1 个答案:

答案 0 :(得分:1)

我记不清了,但具体说来是Robolectric,它不调用视图onMeasure onLayout或以 0dp 大小调用它。

但是,这是让RecyclerView知道他的LayoutManager应该开始夸大项目以将其显示在屏幕上的关键。

您可以在测试中以一些大数字呼叫onMeasure中的RecyclerView,然后它将触发在屏幕上添加项目。

但是,我将这种测试留给浓缩咖啡,因为它是真正的高级测试。