2016-10-19 8 views
3

私はRecyclerViewの最初の項目をクリックしてテストを書く必要があります。場合によってはRecyclerViewが空になるので、0インデックスの位置をクリックすると失敗します。このようなテストを書くにはどうすればいいですか?最初にrecyclerViewが空でないことを確認してから、特定の位置をクリックしますか?エスプレッソのデータがある場合はRecyclerViewをテストします

+0

recyclerviewが空の場合、テストでエラーが発生しませんか? – Dmitriy

+0

@Dmitriyはい。私はそれを確認したい:1.空の場合はリスト2.ユーザーは要素を追加した。3.リストはちょうど1つの要素でなければならない。どうやってするの? : -/ – Slava

+0

スラヴァ、私は答えを掲示した後で、私は理解した。異なる人が質問し、上記のコメントを書いた)))答えを見てください。あなたのケースに合わせて調整できなかったら、私に書きます。 – Dmitriy

答えて

7

問題のシナリオとコメントが少し異なります。

リサイクラービューに何も含まれていない場合は何もしないでください。リサイクラビューに少なくとも1つの要素がある場合は、最初の要素をクリックします。

@Rule 
public final ActivityTestRule<YourActivity> mActivityRule = new ActivityTestRule<>(YourActivity.class); 

@Test 
public void testSample(){ 
    if (getRVcount() > 0){ 
     onView(withId(R.id.our_recycler_view)).perform(RecyclerViewActions.actionOnItemAtPosition(0, click())); 
    } 
} 

private int getRVcount(){ 
    RecyclerView recyclerView = (RecyclerView) mActivityRule.getActivity().findViewById(R.id.our_recycler_view); 
    return recyclerView.getAdapter().getItemCount(); 
} 
関連する問題