android / android/android-test

Espresso does not wait for AndroidX's ListAdapter's by default

Offen
#382 1 Kommentar 20 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
1.2k
Forks
342
Ø Merge
11 Std. 29 Min.
Gemergte PRs (30 T.)
2

Beschreibung

### Description

Included `androidx.recyclerview.widget.ListAdapter` performs asynchronous operations in the background. However, Espresso does not appear to be aware of it and thus tests can fail if async list diff is still diffing while Espresso starts inspecting views.

### Steps to Reproduce

1. Download [RecyclerTest.zip](https://github.com/android/android-test/files/3264598/RecyclerTest.zip)
2. Run ExampleInstrumentedTest couple of times, at least one test will fail eventually

### Expected Results

Espresso should wait for built-in ListAdapter to finish diffing

### Actual Results

Espresso does not wait and can fail the test

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Lade RecyclerTest.zip herunter und führe ExampleInstrumentedTest wiederholt aus, um den intermittierenden Fehler zu reproduzieren. Verfolge, wie Espresso sich mit dem asynchronen Diffing von androidx.recyclerview.widget.ListAdapter synchronisiert. Die Arbeit ist abgeschlossen, wenn Espresso wartet, bis das integrierte ListAdapter-Diffing beendet ist, und der reproduzierte Test nicht mehr intermittierend fehlschlägt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
mobile, testing
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.