Ich versuche herauszufinden, wie man eine in meiner LoggingRestService-Klasse geschriebene Methode testet. Ich möchte überprüfen, ob meine (externe) Fehlermethode den korrekten Protokolleintrag in diesem Logger erzeugt.Wie würde ich die Anmeldung in meiner Anwendung testen? Neu in Mockito und Testsuchrichtung
private static final Logger LOGGER = LoggerFactory.getLogger(LoggingRestService.class);
@POST
@Path("debug")
@ApiOperation(value = "Writes js error message log. (not secured)")
@ApiResponse(code = 200, message = "Message logged")
public void getUserList(@ApiParam(value = "Js debug message.")
String message) {
ConverterUtils.error(LOGGER, message, null);
}
}
Hier ist ConverterUtils Error-Methode:
public static void error(Logger logger, String mess, Exception ex) {
Class<?> aClass = logger.getClass();
try {
Method method = aClass.getMethod("error", String.class, Throwable.class);
method.invoke(logger, mess, ex);
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
LOGGER.error("get logger error", e);
}
}
Ich habe Mockito nie benutzt, aber ich bin ein wenig vertraut mit dem Konzept der spöttischen classes..still bin ich ein wenig verblüfft. Mir wurde nicht viel Richtung zum Testen gegeben, und der Versuch, unabhängig zu sein, verrottet langsam mein Selbstvertrauen. Vielen Dank.
siehe http://stackoverflow.com/questions/30703149/mock-private-static-final-field-using-mockito-o-jmockit – paulk23
Schön zu sehen jemand Protokollierung zu testen. Ich habe (auf und ab) eine Bibliothek geschrieben, um beim Testen der Protokollierung zu helfen, die teilweise auf dieser http://bloodredsun.com/2010/12/09/checking-logging-in-unit-tests/ basiert. Es ist eine nette Beschreibung von wie man die Protokollierung testet. Vielleicht würde es helfen. (Blick auf Google, gibt es mehrere Artikel zum Testen der Protokollierung) – Gavin