PowerMock - 存根父方法调用不会返回存根值

时间:2012-11-08 01:08:51

标签: java junit powermock stubbing

两个班级。家长:B。孩子:A. A.method1()改写B's。

public class B {
    protected boolean method1(){...};
}

public class A extends B {
    protected boolean method1(){
        boolean val = super.method1();
        ... //very short segment of logic that doesn't affect val.
        return val;
    }
}

我的测试类内部:

@Test
public void testA() {
    stub(method(B.class, "method1")).toReturn(true);
    assertTrue((Boolean)(Whitebox.invokeMethod(A.class, "method1")));
}

断言失败(返回false)。我错过了什么吗?在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您测试的方法是非静态方法。我认为你只能为mock实例存储非静态方法。所以你不能传递Class Objects来进行存根。