La vérification d'un appel d'un static void méthode avec powermockito

Je suis en train d'essayer de capturer le "logError' méthode dans une classe statique (dans le sens de chaque méthode/champ est statique), et de vérifier qu'il a été appelé un certain nombre de fois par d'autres méthodes dans la même classe.

cette méthode est:

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

ma tentative de le tester:

@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));
}

Mon problème est que, peu importe combien de fois je précise, il passe. J'ai enlevé les moqueries de comportement et de savons pour un fait que l'enregistreur est appelée une fois, mais je peux avoir PowerMockito.verifyStatic(Mockito.times(9001)); à la place, et il continue de passer. Comment puis-je tester?

OriginalL'auteur AdamSpurgin | 2014-03-04