Ich verwende die MockAppender-Methode der Appender-Klasse, und ich versuche herauszufinden, wie das folgende Code-Snippet True zurückgegeben wird, wenn entweder der folgende Text nicht protokolliert oder .doAppend
nicht aufgerufen wird alle.Rückgabe False zu getFormattedMessage für LoggingEvent
verify(mockAppender).doAppend(argThat(new ArgumentMatcher() {
@Override
public boolean matches(final Object argument) {
return ((LoggingEvent) argument).getFormattedMessage().contains(
"Sending request to partner: "
+ "https://<URL>/hosted/api/tokenize with args");
}
}));
Wenn Sie die andere Antwort hilfreich, dann * akzeptieren *, um zu zeigen! – GhostCat
Eigentlich wird das nicht funktionieren. Das wird nur überprüfen, dass die Methode nie mit einem Argument aufgerufen wird, das die Matcher-Bedingung erfüllt. Die Überprüfung würde "funktionieren", selbst wenn "doAppend" nie aufgerufen würde. Die Art und Weise, wie ich in meiner Antwort gezeigt habe, bestätigt, dass die Methode aufgerufen wurde und mit einem Parameter aufgerufen wurde, der die Matcher-Bedingung nicht erfüllt. Und es vermeidet die Komplexität, eine anonyme innere Klasse definieren zu müssen. –
Ich glaube, ich habe meine ursprüngliche Frage falsch formuliert. Ich habe es klargestellt, um es klarer zu machen. –