ich einen JUnit-Test zu schreiben versuchen, das anzeigt, ob die folgende Methode aufgerufen wird, überprüfen wird:Mit Mockito Matchers.any() mit android.support.annotation.IntDef benutzerdefinierter Anmerkung
public long executeRequest(@RequestCodes.Code.RequestAnnotation int requestCode, Object requestInformation, RequestListener requestListener) {
boolean success = false;
... do stuff ...
return success ? 1L : -1L;
}
in einem Test unter Verwendung von:
Mockito.when(mockedRequest.executeRequest(Matchers.any(RequestCodes.Code.RequestAnnotation.class), Matchers.any(RequestWrapper.class), Matchers.any(RequestListener.class))).thenReturn(1L);
die RequestCodes.Code.RequestAnnotation Klasse ist ein elementarer indef Schnittstelle einen int mit dem Aufruf zu identifizieren, mit einem Schalter zu machen. So ähnlich wie this.
Matchers.any(RequestCodes.Code.RequestAnnotation.class)
funktioniert hier nicht, und ich habe Matchers.any()
, Matchers.anyInt()
, Matchers.isA(RequestCodes.Code.RequestAnnotation.getClass())
(wie auch alles andere, was in den Sinn kam) versucht, ohne Erfolg.
Alle Vorschläge würden sehr geschätzt werden.
'AnyInt()' sollte definitiv funktionieren, nur Lint wird sich beschweren. Sie könnten auch einen benutzerdefinierten Matcher für diesen Anwendungsfall einführen. – Egor
Ist heute bei der Arbeit gleich. Könnte [Ausgabe 222711] (https://code.google.com/p/android/issues/detail?id=222711) einen Blick wert sein? – piratemurray