我有一些麻煩試圖單元測試java代碼,在某些時候調用本地方法。基本上,我試圖使用PowerMockito
來模擬最終會調用native的類。我能夠模擬非void方法,但是當我嘗試模擬void返回類型的方法時,我一直在收到編譯錯誤。下面是我想測試代碼的例子:使用PowerMockito模擬方法與void返回類型:「無效的void參數」
public class ClassThatCallsNative {
void initObject(ByteBuffer param1, int param2) {
//calls native
}
int getId(int param1) {
//calls native
}
}
我有這樣的代碼在我的測試類:
PowerMockito.when(mClassThatCallsNative.getId(Mockit.anyInt())).thenReturn(0);
這行代碼彙編就好了,但是下面一行我得到編譯錯誤:
PowerMockito.when(mClassThatCallsNative.initObject(Mockit.any(ByteBuffer.class), anyInt())).doNothing();
錯誤消息只是說無效的void參數並指向.initObject。 任何想法我做錯了什麼?
與調用本機並沒有任何關係,你是對的。我只是想爲我遇到的問題添加背景。 – sasfour 2014-09-10 20:00:44
問題中的相關任務上下文,標題和標記中的問題上下文。 – user2864740 2014-09-10 20:05:45