2016-10-19 3 views
3

Ich muss einen Test schreiben, um zu klicken, sagen wir zum ersten Artikel in meinem RecyclerView. In einigen Fällen ist der RecyclerView leer und wenn ich auf die Position mit 0 Index klicke, wird es fehlschlagen. Wie schreibe ich einen Test wie diesen? Um zuerst zu überprüfen, ob die recyclerView nicht leer ist und dann auf die spezifische Position klicken?Testen von RecyclerView, wenn Daten mit Espresso vorliegen

+0

Ihr Test sollte nicht Fehler aufrufen, wenn Recyclerview leer ist? – Dmitriy

+0

@Dmitriy ja. Ich möchte sicherstellen, dass: 1. Die Liste, wenn leer 2. Der Benutzer ein Element hinzugefügt 3. Jetzt sollte die Liste genau ein Element. Wie es geht? : -/ – Slava

+0

Slava, erst nachdem ich die Antwort geschrieben habe ich verstanden, dass verschiedene Leute eine Frage gestellt und schrieb einen Kommentar oben))) Sehen Sie sich die Antwort. Wenn Sie es nicht für Ihren Fall anpassen könnten, dann schreiben Sie mir. – Dmitriy

Antwort

7

Es sind ein bisschen andere Szenarien in Frage und im Kommentar.

Lassen Sie uns das nächste Testszenario implementieren: Wenn die Recycler-Ansicht nichts enthält, tun Sie nichts. Wenn die Recycleransicht mindestens ein Element enthält, klicken Sie auf das erste Element.

@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(); 
} 
Verwandte Themen