我使用 easymock 模拟了请求和响应,但它仍然通过请求方法中的每一行并获得异常。
例如:
public class helper{
public String getCB(){
Response response = serviceImpl.getDefaultMethod(request);
return response.getString();
}
测试:
expect(MockServiceImpl.getDefaultMethod(mockRequest)).andReturn(mockResponse);
获得例外,它进入getDefaultMethod()
。
我不明白为什么它会通过该方法中的代码。有人可以帮帮我吗?
答案 0 :(得分:0)
AFAIK easymock无法模拟静态方法调用。
你应该移动
行Response response = ServiceImpl.getDefaultMethod(request);
退出方法并模拟request
。
另一种方法是使用PowerMock,但恕我直言,这是对糟糕设计的投降。
答案 1 :(得分:0)
如果方法不是静态的而不是最终的,它应该可以工作。
如果它没有,则意味着你没有在模拟上调用此方法,而是在类的实际实例上调用此方法。向我们展示模拟创建和注射将帮助我们确认。