0

既存のオブジェクトを使用して特定のメソッドをモックする方法はありますか?

Power Mockを使用してプライベートメソッドをモックしましたが、上記のタスクを実行する方法を見つけることができませんでした。

ありがとう

4

2 に答える 2

2

私が正しく理解していれば、実際のオブジェクトのメソッドだけをスタブする必要があります。その場合、MockitoでPowerMockを使用している場合は、「スパイ」機能を確認できます。ここに例があります。

于 2012-06-21T08:18:52.373 に答える
0

これを行う最も簡単な方法は、テストケースのメソッドをオーバーライドすることです。

public class ClassToTest {

    public int someMethod() {
        return 1 + otherMethod();
    }

    protected int otherMethod() {
        return 2;
    }

}

public class ClassToTestTest {
    @Test
    public void testSomeMethod() {
        ClassToTest classUnderTest = new ClassToTest() {
            @Override
            protected int otherMethod() {
                return 3;
            }
        }
        Assert.assertEquals(4, classUnderTest.someMethod());
    }
}
于 2012-06-21T08:13:36.820 に答える