Ich versuche herauszufinden, wie onSavedInstance mit den neueren AndroidJunit4 und Activity Rules zu testen.Unit Test onSaveInstanceState mit ActivityRules
@RunWith(AndroidJUnit4.class)
public class MyViewActivityTest{
@Rule
public UiThreadTestRule uiThreadTestRule = new UiThreadTestRule();
@Rule
public ActivityTestRule<MyViewActivity> mActivityRule = new ActivityTestRule<>(MyViewActivity.class);
@UiThreadTest
@Test
public void testOnSavedIntanceState() {
uiThreadTestRule.runOnUiThread(new Runnable() {
@Override
public void run() {
Intent in = new Intent();
MyViewActivity activity = mActivityRule.launchActivity(in);
activity.finish();
activity.recreate();
}
});
}
Ich bekomme einen Fehler nicht sicher, ob ich den richtigen Baum belle.
java.lang.IllegalStateException: Muss vom Hauptthread bei android.app.Activity.recreate (Activity.java:4620)
Hinzugefügt UIThreadTest jetzt bekomme ich "Leere Testsuite.". Gibt es eine Art von Setup, das für UIThreadTest benötigt wird? Kannst du mir ein Beispiel mit meinem obigen Code zeigen? – JPM
Sie benötigen sowohl '@ UIThreadTest' als auch' @Test'. Sie können nur beide über der Methode sein. – DeeV
Immer noch der gleiche Fehler ... hast du diesen Code ausprobiert oder schmeißt du nur Vorschläge raus? – JPM