Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PowerMock class not found

For some reason I fail to follow a pretty straight forward PowerMock example.

I included powermock-mockito-1.5.1-full in my classpath, and I try to test a public final method (following this example).

For some reason I am not able to make the import to the PowerMock class.

import org.junit.*;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import com.cleancode.lifesaver.camera.*;

@RunWith(PowerMockRunner.class)
@PrepareForTest(android.hardware.Camera.class)
public class CameraTests {

    private android.hardware.Camera _cameraMock;

    @Before
    public void setUp() {
        _cameraMock = PowerMockito.mock(android.hardware.Camera.class);
    }

    @Test 
    public void releaseCamera() {
        ICamera camera = new Camera(_cameraMock);

        // Compile error: PowerMock can't be resolved       
        PowerMock.replay(_cameraMock);
        // I also tried PowerMockito.replay(_cameraMock) but that also doesn't exist.

        camera.release();

        Mockito.verify(_cameraMock).release();
    }
}

As the comment explains, the PowerMock class can't be imported from the power mock jar.

It feels like a silly question, but I really can't find anything on the internet.

Where should I be able to find the static class PowerMock? I also used Java Decompile to search the powermock library, no hits on powermock / replay.

like image 613
bas Avatar asked Sep 20 '13 09:09

bas


1 Answers

The example you are following PowerMock.replay(_cameraMock); is using EasyMock, while you seem to be wanting Mockito. Take a look at this tutorial for mockito & power mock

like image 183
Morfic Avatar answered Sep 25 '22 02:09

Morfic