Нажмите кнопку тестирования на RecyclerView - PullRequest
0 голосов
/ 29 декабря 2018

Я хочу проверить performclick на кнопке в recyclerview, используя Robolectric, и я хочу видеть, что она открывает 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 голосов
/ 29 декабря 2018

Я не помню точно, но специфика с Robolectric в том, что он не вызывает view onMeasure onLayout или вызывает его с размером 0dp .

Однако, это ключ, чтобы сообщить RecyclerView, что его LayoutManager должен начать раздувать предметы, чтобы представить их на экране.

Вы можете позвонить onMeasure из RecyclerView с некоторыми большими числами вваш тест, а затем он должен инициировать добавление элементов на экран.

Однако я бы оставил этот тип тестов эспрессо, потому что это действительно тест высокого уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...