2014-12-04 67 views
0

我正試圖在使用mockito和powermock的Junit中編寫@test。我沒有問題沒有參數的存根方法。但是,當我嘗試告訴mockedBank返回true時,無論傳入latePay的是什麼,我都會得到java.lang.NullPointerException。 latePay是我使用powermock的最終方法。任何建議,非常感謝。非本機類的嘲諷匹配器

BankGenerator mockedBank = PowerMockito.mock(BankGenerator.class); 
    when(mockedBank.latePay(Matchers.any(MoneyCalculator.class))).thenReturn(true); 

回答

1

您是否向包含測試的類添加了正確的註釋?

例如:

@RunWith(PowerMockRunner.class) 
@PrepareForTest(ClassWithFinalMethod.class) 
public class ClassContainingUnitTests { 
... 
} 

我已經在過去使用PowerMock與EasyMock的,而忘記有時包括這些註解導致奇怪的結果。

更多參考,請瀏覽: http://www.codeproject.com/Articles/806508/Using-PowerMockito-to-Mock-Final-and-Static-Method

希望這有助於。

+0

就是這樣!具有參數的@test工作原因是他們在不同的測試類中,我有RunWith&PrepareForTest。 Facepalm – Abercrombieande 2014-12-04 16:46:16

+0

太棒了!很高興我能夠提供幫助。 – cschieb 2014-12-04 16:48:29