Ich bin Neuling auf Android und bleibe beim Testen eines SplashScreen stecken, im Grunde, was ich tue, versucht zu testen, dass der Splash-Screen für 3s bleibt. Dies ist der Code für den BegrüßungsbildschirmAndroid Testing Handler.postDelayed
@Override
protected void onStart() {
super.onStart();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashScreenActivity.this, MainActivity.class);
startActivity(i);
finish();
}
}, SPLASH_TIME_OUT);
}
Und das ist mein Ansatz für den Test:
@Test
public void splashScreenTimerTest() throws InterruptedException {
StopWatch timer = new StopWatch();
timer.start();
splashScreenActivityController.start();
timer.stop();
long expected = 3000L;
assertThat(String.format("The spalash screen run for longer than expected. It should stay on for [%d] but it run for [%d]",expected,timer.getTime()),timer.getTime(),equalTo(expected));
}
Ich bin mit Android + Robolectric zum Testen.
Ich habe seit ein paar Tagen gegoogelt, ich habe viele Dinge ausprobiert, aber kein Ergebnis. Ich versuche den UI-Thread zu bekommen und warte darauf. Ich habe versucht, Sie zu scheduler, um die Warteschlange zu bekommen und sehen, ob es dort eine Aufgabe gibt. Aber kein Ergebnis.
Jeder Vorschlag wie kann ich meinen Test warten lassen, bis die neue Aktivität ausgelöst wird?
Dank
Danke für den er lp, ich überprüfe es später! – Rabel
Großartige Arbeiten wie Charme –