EventBus testen

tanzverfuehrung

Bekanntes Mitglied
also ich habe eine Klasse wo ich im Konstruktor eine EventBus erzeuge
Java:
private final EventBus eventBus;

public Klasse_A() {
		eventBus = new EventBus();
	}

bei bestimmten methoden werden auf dem eventBus listener registriert und wieder gelöscht.

ich möchte das ganze mit JUNit testen und benutze nebenbei auch Mockito

Wenn ich nun den EventBus mocken will, habe ich ja nicht genau den, den ich in meiner Klasse erzeugt habe.

aber ich will gucken ob der listener, auf dem eventbus erzeugt wurde....also mit
Java:
verify(eventBus).register(listener);

aber das funktioniert ales nicht...wie kann ich das ganze testen?🙁???:L
 
Eventuell hilft Dir dieser Artikel

Mock Private Method JavaLobby

Prinzipiell ist es so, dass eine für die Programmierung sinnvolle Entscheidung,
der final-Modifier, die Testbarkeit stört.

Dies ist dem schwachen Scope-Modell von Java geschuldet,
welches keine Unterscheidung der Modifier je nach Client (Aufrufer) erlaubt.

Deshalb musst Du diesen Modifier wahrscheinlich für die Testbarkeit entfernen
und die Einhaltung der Unveränderlichkeit dieser Member im Code manuell absichern.
Das ist schade.

Üblich ist hier auch die Arbeit mit irgendwelcher Depency Injection.

Eine weitere Möglichkeit ist die Verwendung von PowerMock,
das mehr Möglichkeiten als Mockito hat.
 

Neue Themen


Zurück
Oben