Estoy tratando de burlarse de algunas clases mongo para que yo no necesito una conexión (cosas bastante estándar), pero el siguiente código me da problemas:Mockito - 0 comparadores esperados, 1 grabados (InvalidUseOfMatchersException)
when(dbCollection.find(isA(DBObject.class))).thenReturn(dbCursor);
Correr me es esto llegar:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
uso no válido de comparadores de argumentos!
0 comparadores esperados, 1 grabado:
en ... GridFileManagerTest.beforeClass (GridFileManagerTest.java:67)Esta excepción se puede producir si comparadores se combinan con valores en bruto:
// incorrecto: algunMetodo (anyObject(), "cadena sin procesar");Al usar los mezcladores, todos los argumentos deben ser provistos por los emparejamientos.
Por ejemplo:
// correcto:
someMethod (anyObject(), eq ("Cadena por coincidencia"));Para obtener más información, consulte javadoc para la clase Matchers.
Si tuviera que hacer esto sin embargo:
when(dbCollection.find(mock(DBObject.class))).thenReturn(dbCursor);
ya no tiene ese problema. Sin embargo, esto no parece lograr lo que quiero, quiero devolver el valor cuando se llama al método con un objeto de tipo DBObject.
¿Pensamientos?
Vea la parte '[EDIT]' de la primera respuesta. Tal vez tienes el mismo problema? http://stackoverflow.com/questions/10828843/powermockito-got-invaliduseofmatchersexception-when-use-matchers-mocking-static – bezmax
¿Es DBCollection un objeto falso de Mockito? –