Wie höre ich ActivityTestRule'sbeforeActivityLaunched() Methode in einem Android-Test.Wie man Android ActivityTestRules beforeActivityLaunched Methode in einem Android-Test
Meine Problemumgehung erstellt eine benutzerdefinierte ActivityTestRule und bietet einen Rückruf für Konstruktor. Ist es eine schlechte Übung? Genauso ist es OK, auf die ActivityTestRule-Konstruktormethode zu warten.
Hier ist mein Code:
public class CustomActivityTestRule<A extends Activity> extends ActivityTestRule<A> {
public interface onBeforeListener{
void onBefore(String message);
}
private onBeforeListener listener;
public CustomActivityTestRule(Class<A> activityClass, onBeforeListener listener) {
super(activityClass);
}
@Override
protected void beforeActivityLaunched() {
super.beforeActivityLaunched();
listener.onBefore("before activity launch");
}
}
In android Testklasse, ich kann so etwas tun:
@Rule public CustomActivityTestRule<MainActivity> mainActivityActivityTestRule = new
CustomActivityTestRule<MainActivity>(MainActivity.class, new CustomActivityTestRule.onBeforeListener() {
@Override
public void onBefore(String message) {
//do something before activity starts
}
});
gleiche Art und Weise sie in der Lage sind, etwas auf junit Regel instanziierenden zu tun. Gibt es eine andere Möglichkeit, auf die Instanziierung von Junit-Testregeln zu achten?