Simulieren Sie eine öffentliche Methode mit Jmockit
Habe ich eine Klasse Handler.java
Es hat 2 öffentliche Methoden update(), fetch()
In der eigentlichen update () - Implementierung, die ich rufen Sie die öffentliche Methode fetch()
Fetch() wiederum ruft eine service.
So, jetzt muss ich schreiben ein testUpdate (), die würde zu verhöhnen die öffentliche Methode aufrufen, d.h. die fetch()
Da keine statische ich habe versucht, erstellen einer anderen Instanz von der Handler.java wie spottete ich.e,
private Handler handler;
@Mocked
private Handler mockedHandler;
Nun mit dem mockedHandler, habe ich den untenstehenden code in meine testUpdate()
new NonStrictExpectations(){
mockedHandler.fetch();
returns(response);
};
handler.update();
Nun, ich erwarte, dass die mockedhandler verwendet werden, für den Aufruf von fetch() und die handler-Instanz für den Aufruf der update().
Aber wenn ich den tatsächlichen Aufruf der Methode update() ist auch noch verspottet!!!
i.e. handler.update(); is not at all going to the update().
Mir helfen mock die zweite öffentliche Methode, die ich nenne in meinem update()
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Klingt es für mich, dass, sollten Sie werden Sie verspotten die service-Klasse aufgerufen, von innen
Handler#fetch()
eher als Verspottungfetch()
Methode.Sowieso, Spott einige Methoden einer Klasse, während nicht lustig andere heißt teilweise spöttische. In JMockit, werden Sie in der Regel verwenden Sie die
NonStrictExpectations(Object...)
Konstruktor für, dass, wie im folgenden Beispiel test: