¿Es posible indicar en el código si un objeto dado es un simulacro de Mockito o no?¿Cómo puedo saber si un objeto es un simulacro de Mockito?
La razón por la que me gustaría hacer esto es devolver un mensaje de error diferente cuando se usa una simulación. Esto se usaría para sugerir a otros desarrolladores que deberían usar un simulacro pre-preparado que ya está configurado para responder a las llamadas de una manera útil en lugar de crear el simulacro ellos mismos.
Por el momento, lo mejor que tengo es object.getClass().getName().contains("EnhancerByMockitoWithCGLIB")
pero esto me parece hacky.
A raíz de su respuesta eché un vistazo a la [fuente de MockUtil] (https://fisheye2.atlassian.com/browse/mockito/trunk/src/org/mockito/internal/util/MockUtil.java? r = 2020) y directamente bajo el método privado 'isMockitoMock' hay un método público' isMock' que parece puede usarse. Publicaré en la lista de correo de Mockito para verificar si es una buena idea llamar a métodos de 'org.mockito.internal.util'. – mikej
Una de las intenciones del paquete 'org.mockito.internal.util' es que el equipo de Mockito podría cambiar cualquier cosa en este paquete, en una versión más nueva. Entonces, si usa este paquete, es posible que sus pruebas se rompan en el futuro. Sin embargo, es muy poco probable que nos deshagamos de este método en particular, por lo que diría que es bastante seguro de usar. –
@mikej: +1, de alguna manera me perdí esa, ¡gracias! Eliminé la respuesta anterior y puse su sugerencia en su lugar para que se destaque mejor. Espero que no te importe. –