Come ascolto il metodo ActivityTestRule'sbeforeActivityLaunched() in un test di Android.Come ascoltare il metodo beforeActivityLaunch di Android ActivityTestRule in un test Android
La mia soluzione alternativa è la creazione di una ActivityTestRule personalizzata e la concessione di un callback sul costruttore. È una cattiva pratica? Allo stesso modo è OK ascoltare il metodo del costruttore ActivityTestRule.
Ecco il mio codice:
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");
}
}
Nella classe di test Android, posso fare qualcosa di simile:
@Rule public CustomActivityTestRule<MainActivity> mainActivityActivityTestRule = new
CustomActivityTestRule<MainActivity>(MainActivity.class, new CustomActivityTestRule.onBeforeListener() {
@Override
public void onBefore(String message) {
//do something before activity starts
}
});
stesso modo è in grado di fare qualcosa sulla regola JUnit creare un'istanza. C'è un altro modo per ascoltare la creazione di istanze di test di junit?