Ich benutze Ottos EventBus in meiner Android App.Wie/Soll ich UnitBus-Ereignisse mit Mockito testen?
In meiner LoginNetworkOperation
Klasse, fangen ich verschiedene Arten von Netzwerkverbindungsfehlern und ich posten verschiedene Busereignisse für jedes, und meine LoginPresenter
Klasse ist als Listener registriert und bestimmte Methoden aufgerufen werden, wenn diese Ereignisse ausgelöst werden.
Meine Frage ist, wie (und soll ich) ich Einheitstest, ob die LoginNetworkOperation
löst dieses Ereignis und LoginPresenter
behandelt es mit Mockito
?
Ich schaute auf diese Frage: Guava EventBus unit tests, aber es bietet nicht genügend Informationen, vor allem auf der Implementierung.
public class LoginNetworkOperation {
public void execute(String username, String password) {
try {
// retrofit attempt
} catch (Exception e) {
bus.post(new ExceptionEvent(e));
}
}
}
public class LoginPresenter {
void onExceptionEvent(ExceptionEvent exceptionEvent) {
// Do Something with the exception event
}
}
Auch sollte die die Subject Under Test
hier sein und welche die nachgeahmten Objekt sein sollte?
Ich bin mit JUnit + Mockito + Robolectric in Android Studio und mein Test Artefakt ist Komponententests
so kann ich einen Mock registrieren, um auf Event-Bus-Events zu hören und den EventBus zum Event zu machen, und der Mock soll es bekommen? –
in welchem der Tests, die ich erwähnte, der "EventBus.post" Unit-Test? Wenn ja, ja. – Bewusstsein
vielen Dank :) –