5

何らかの理由で、非常に単純な PowerMock の例に従うことができませんでした。

クラスパスに含めpowermock-mockito-1.5.1-fullて、public final メソッドをテストしようとしました (この例に従ってください)。

PowerMock何らかの理由で、クラスにインポートできません。

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

コメントで説明されているように、PowerMockクラスをパワー モック jar からインポートすることはできません。

ばかげた質問のように感じますが、実際にはインターネット上で何も見つかりません。

静的クラスはどこで見つけることができますPowerMockか? また、Java Decompile を使用して powermock ライブラリを検索しましたが、powermock/replay にはヒットしませんでした。

4

2 に答える 2

8

あなたがフォローしている例PowerMock.replay(_cameraMock);は、EasyMock を使用していますが、Mockito が必要なようです。mockito と power mock については、このチュートリアルをご覧ください。

于 2013-09-20T09:39:38.677 に答える