【发布时间】:2017-12-20 15:41:28
【问题描述】:
public enum SPHttpClient {
;
private static fun(clientInstance) {
HttpPost postRequest;
/* some processing*/
clientInstance.execute(postRequest);
// I need to mock this execute statement
}
}
在私有方法 fun 上编写 Junit 测试,
如何调用 ENUM 类型的私有方法,还要模拟通过私有方法参数传递的 clientInstance?
SPHttpClient spHttpClient;
final Method method = spHttpClient.getClass().getDeclaredMethod("fun", HttpClient.class);
method.setAccessible(true);
Object actual = method.invoke(spHttpClient, mockHttpClient);
我认为getclass 不适用于枚举??
【问题讨论】:
-
clientInstance来自哪里? -
clientInstance是HttpClient对象的类型,它作为参数传递给fun函数