android / android/android-test
Calling finish() after onStart() does not move its state to DESTROYED but remains in RESUMED
- Vorherrschende Sprache
- Java
- Sterne
- 1.2k
- Forks
- 342
- Ø Merge
- 11 Std. 29 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
### Description
In Robolectric local unit test,
calling finish() in onStart() does not move its state to DESTROYED but remains in RESUMED.
This StackOverflow question (https://stackoverflow.com/questions/64525956/junit-framework-assertionfailederror-expecteddestroyed-but-wasresumed) may address the same issue.
### Steps to Reproduce
```
public class FinishOnCreateActivity extends AppCompatActivity {
@Override
public void onCreate() {
super.onCreate();
finish();
}
}
public class FinishOnStartActivity extends AppCompatActivity {
@Override
public void onStart() {
super.onStart();
finish();
}
}
@RunWith(AndroidJUnit4.class)
public class ActivityTest {
@Test
public void testFinishOnCreateActivity() {
try (ActivityScenario scenario =
ActivityScenario.launch(FinishOnCreateActivity.class)) {
assertThat(scenario.getState()).isEqualTo(Lifecycle.State.DESTROYED);
}
}
@Test
public void testFinishOnStartActivity() {
try (ActivityScenario scenario =
ActivityScenario.launch(FinishOnStartActivity.class)) {
assertThat(scenario.getState()).isEqualTo(Lifecycle.State.DESTROYED);
}
}
}
```
### Expected Results
Pass both tests
### Actual Results
Pass testFinishOnCreateActivity(),
Fail testFinishOnStartActivity().
### AndroidX Test and Android OS Versions
androidx.test 1.3.0
robolectric 4.4
### Link to a public git repo demonstrating the problem:
None
Beitragsleitfaden
Rechercherichtung
Beginne damit, das Problem mit den Beispielen FinishOnCreateActivity und FinishOnStartActivity sowie den beiden ActivityScenario-Tests aus dem Bericht zu reproduzieren. Vergleiche den nach finish() in onCreate() und onStart() beobachteten Lifecycle-Status; abgeschlossen ist die Aufgabe, wenn beide Tests Lifecycle.State.DESTROYED melden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, 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