2012-11-08 31 views
1

有兩個類。父項:B.子項:A. A.method1()覆蓋B的項目。PowerMock - 將父級方法調用存根不會返回存根值

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)。我錯過了什麼嗎?感謝您提前提供任何幫助。

回答

0

您測試的方法是非靜態方法。我認爲,您可以僅爲模擬實例存儲非靜態方法。所以你不能通過類對象進行存根。