Powermock + Mockito nicht funktioniert

Versuchen, Powermock, zu verhöhnen, aus einer statischen Methode auf SystemTray. Nicht sicher, warum dies nicht funktioniert. Ich habe das match von Powermock -> Mockito Versionen, und ich glaube, ich habe alle Folgen Sie die Schritte zum hinzufügen der rechten Anmerkungen und die korrekte Verwendung von PowerMock Verfahren zur Einstellung der statischen.

Die statische Methode auf SystemTray scheint aufgerufen zu werden, ohne die gekürzte Funktionalität durch die wenn().

Ich bin mischen Powermock und Mockito fordert hier, aber laut den docs ist das richtig.

package CommissionChecker;

import org.apache.commons.logging.Log;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.springframework.test.util.ReflectionTestUtils;

import java.awt.*;
import java.io.IOException;
import java.util.List;

import static org.mockito.Mockito.*;
import static org.powermock.api.mockito.PowerMockito.mockStatic;

@RunWith(PowerMockRunner.class)
@PrepareForTest(SystemTray.class)
public class DisplayManagerTest {

    @Mock
    Log logMock;
    @Mock
    Runner runnerMock;

    @Test
    public void display_manager_does_nothing_if_system_tray_is_not_supported() throws IOException, AWTException {
        mockStatic(SystemTray.class);
        when(SystemTray.isSupported()).thenReturn(false);

        new DisplayManager(runnerMock);

        verifyZeroInteractions(runnerMock);
    }
}

Diese sind meine maven-Abhängigkeiten

    <powermock.version>1.5.2</powermock.version>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.9.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>${powermock.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito</artifactId>
        <version>${powermock.version}</version>
        <scope>test</scope>
    </dependency>
InformationsquelleAutor Jazzepi | 2013-12-24
Schreibe einen Kommentar