1

現在、クラス内のプライベート最終静的オブジェクトをモックしようとしています。私のオブジェクトが適切に嘲笑されているようには見えません。

例:
コード: メイン クラス内

public class Main {

    private final static serviceA obj = new serviceA();

    public somemethod { return true; }

}

嘲笑:私のテストクラスでは

Public class TestMain {

    private Main mainObj;
    private static  serviceA obj;

    @Before
    public void setupBeforeTest() {

        obj = Mockito.mock(serviceA.class);
        PowerMockito.whenNew(serviceA.class).withNoArguments().thenReturn(obj);
        mainObj= Mockito.spy(new Main());
    }
}

しかし、obj は実行時に指定した値を返しません

Mockito.when(obj.returnsFalseMethod()).thenReturn(false);

実際に のコードを実行しますobj.returnsFalseMethod()

また、メインクラスのコードを変更することはできません。ありがとうございます。

4

1 に答える 1

1

オブジェクトを作成するクラスを準備する必要があることに気づきませんでした。オブジェクトをインスタンス化するクラスを除くすべてのクラスを準備していました。

于 2012-07-25T15:00:48.540 に答える