小编fel*_*gnu的帖子

嘲弄保护方法

我想模拟一个继承的受保护方法.我无法直接从java代码调用此方法,因为它从另一个包中的类继承.我找不到一种方法来指定这个方法来存入when(...)

package a;

public class A() {
    protected int m() {}
}

package b;

public class B extends a.A {
    // this class currently does not override m method from a.A
    public asd() {}
}

// test
package b;

class BTest {
    @Test
    public void testClass() {
        B instance = PowerMockito.spy(new B());
        PowerMockito.when(instance, <specify a method m>).thenReturn(123);
        //PowerMockito.when(instance.m()).thenReturn(123); -- obviously does not work
    }
}
Run Code Online (Sandbox Code Playgroud)

我查看了PowerMockito.when覆盖,这似乎只是私人方法!

如何指定受保护的方法?

java mockito powermock powermockito

16
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×1

mockito ×1

powermock ×1

powermockito ×1