Java EasyMock expect方法始终返回null,尽管在.andReturn中设置了新对象
我的源代码如下:Java EasyMock expect方法始终返回null,尽管在.andReturn中设置了新对象,java,easymock,Java,Easymock,我的源代码如下: response = getRequestService().retrieveResponse(baseRequest); data = response.getStoredData(); ---> (1) 我已经将我的测试用例编写为: RequestService requestService = EasyMock.createNiceMock(RequestService .class); BaseRequest baseRequest = new Base
response = getRequestService().retrieveResponse(baseRequest);
data = response.getStoredData(); ---> (1)
我已经将我的测试用例编写为:
RequestService requestService = EasyMock.createNiceMock(RequestService .class);
BaseRequest baseRequest = new BaseRequest();
BaseResponse response = new BaseResponse();
expect(requestService .retrieveResponse(EasyMock.eq(baseRequest))).andReturn(response)
replay(requestService );
然而,当我运行测试时,我总是在第1行得到一个NullPointerException
有人能帮我解决这个问题吗
谢谢。我首先要确定
getRequestService()
调用返回对模拟请求服务的引用。看起来您还没有定义该行为,对getRequestService()
的调用正在返回null
我要查看的第一个地方是确保getRequestService()
调用返回对您的模拟请求服务的引用。看起来您还没有定义该行为,对getRequestService()
的调用返回null
更改此行expect(requestService.retrieverresponse(EasyMock.eq(baseRequest))。andReturn(response)期望(requestService.RetrieverResponse((BaseRequest)EasyMock.anyObject()).andReturn(response)对我有用。但是我不确定这是否是正确的方法,因为我没有在模拟调用中强制执行对象类型更改此行expect(requestService.retrieverresponse(EasyMock.eq(baseRequest))。andReturn(response)为expect(requestService.RetrieverResponse((BaseRequest)EasyMock.anyObject()).andReturn(response)对我很有效。但我不确定这是否正确,因为我没有在模拟调用中强制执行对象类型。你解决了吗?你解决了吗?