android / android/android-test
Espresso does not wait for AndroidX's ListAdapter's by default
- 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
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