【发布时间】:2014-11-04 14:25:19
【问题描述】:
我在尝试对在某些时候调用本机方法的 java 代码进行单元测试时遇到了一些麻烦。基本上,我正在尝试使用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。 知道我做错了什么吗?
【问题讨论】:
-
这与调用原生没有任何关系,你是对的。我只是想为我遇到的问题添加上下文。
-
问题中的相关任务上下文,标题和标签中的问题上下文。
标签: java unit-testing mockito powermock