2016-11-30 11 views
0

Ich versuche, eine überladene Methode aus folgendem Schema die MocksMockito Mock überladene Methoden

JestClient { 

    DocumentResult execute(Index x) {...} 

    BulkResult execute(Bulk y) {...} 
} 

habe ich den folgenden Code zu verspotten zu erstellen.

Der resultierende Schein gibt immer den zweiten Schein zurück und ignoriert den ersten, unabhängig vom Objekttyp, der als Parameter übergeben wurde.

+0

Was ist die Beziehung zwischen 'Bulk' und' Index'? Erweitert sich der eine? – Mureinik

+0

Sie sind beide Unterklassen derselben Oberklasse. –

+0

Ist eine dieser 'execute' Methoden von einer auf einer Schnittstelle definierten Methode überschrieben? Besonders ein generischer? –

Antwort

0

Ich hoffe, es ist in Ordnung, wenn ich eine Antwort dafür verwende, weil es nicht in einen Kommentar passt. Haben Sie versucht, Mockito.argThat(Hamcrest.isA(SomeClass.class)) hier zu verwenden?

doReturn(setResult).when(client).execute(argThat(isA(Index.class))); 

Es wäre hilfreich, wenn Sie ein ausführbares Beispiel bereitstellen würden. Ich habe versucht, deine Situation zu re-implementieren, aber mein Test ist grün. Was ist in deiner Situation anders?