Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EasyMock expect方法始终返回null,尽管在.andReturn中设置了新对象_Java_Easymock - Fatal编程技术网

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)对我很有效。但我不确定这是否正确,因为我没有在模拟调用中强制执行对象类型。你解决了吗?你解决了吗?