我正在使用apache httpclient-4.0.1
从我的应用程序进行Rest调用,这一切正常,直到我尝试为此创建单元测试。我正在使用easymock
,当我尝试模仿我的DefaultHttpClient.execute(HttpUriRequest)
时,我收到以下错误。
java.lang.IllegalStateException: missing behavior definition for the preceeding method call createHttpContext()
我已经查找了代码,看起来这个方法(createHttpContext()
)在execute(HttpUriRequest)
方法上被调用,但它是protected
方法,所以我对它没有可见性。
那你怎么嘲笑这个电话?
答案 0 :(得分:1)
原则上,您应该只模拟SUT在其协作者上调用的方法。如果你需要模拟一些你的SUT没有直接调用的东西那么你就是做错了。
如果问题是您需要模拟静态调用,则有几种解决方案。