Überprüfen rufen Sie eine statische void-Methode mit powermockito

Ich versuche zu erfassen, die 'logerror keinen Sinn" - Methode in einer statischen Klasse (im Sinne von jeder Methode/Feld statisch ist), und überprüfen Sie genannt wurde einige Male von anderen Methoden in derselben Klasse.

dieser Methode ist:

public static void logError(Object message){
    LOGGER.error(message); //static logger
}

mein Versuch, es zu testen:

@Test
public void errLogTest() throws Exception{
    PowerMockito.mockStatic(X.class);
    PowerMockito.doNothing().when(X.class);
    X.logError(Mockito.anyString());
    X.open();
    X.open(); //should log error for opening twice
    PowerMockito.verifyStatic(Mockito.times(1));
}

Mein problem ist, egal wie viele Male ich angeben, es geht. Ich entfernte Spott Verhalten und wissen, für eine Tatsache, dass die logger einmal aufgerufen wird, aber ich kann PowerMockito.verifyStatic(Mockito.times(9001)); statt und es immer noch geht. Wie kann ich dies testen?

InformationsquelleAutor AdamSpurgin | 2014-03-04

Schreibe einen Kommentar