Android & Robotium - Testaktivität, die ein Extra erwartet?
-
26-10-2019 - |
Frage
Es scheint mir, dass Robotium so konzipiert wurde, dass 1 Aktivität gleichzeitig anstelle der gesamten Anwendung testet wurde.
Meine Frage ist also, wie ich eine Aktivität testet, die erwartet, dass ein Extra daran übergeben wird. Mit extra meine ich intent.putExtra("Something", object);
Lösung
Die Methode setActivityintent (Absicht) Sollte das sein, wonach Sie suchen. Ich habe diese Methode verwendet, um eine benutzerdefinierte Absicht für den Testcase meiner Aktivität zu bieten. Verwenden Sie es einfach, nachdem Sie angerufen haben super in Ihrem Konstruktor.
Intent i = new Intent();
i.putExtra("myExtra", "anyValue");
setActivityIntent(i);
Sie müssen es nicht im Konstruktor tun, denke ich, aber Sie müssen sicherstellen, dass Sie es nennen Bevor Sie GetActivity anrufen () zum ersten Mal. GetActivity verwendet Ihre Absicht, die Aktivität zu erstellen.
Andere Tipps
Sie könnten stattdessen GetActivity () überschreiben.
@Override
public NewActivity getActivity() {
Intent intent = new Intent();
intent.putExtra("exampleExtra", "some data");
setActivityIntent(intent);
return super.getActivity();
}
Sehen Testen auf Android mit Robotium für mehr Details.