我正在使用 EasyMock 测试我的 Java 代码。
我要模拟的代码如下所示:
requestInfo = mupClient.newEnqueueRequestCall().call(requestArgs);
我嘲笑的方式是:
expect(mupClient.newEnqueueRequestCall()).andReturn(enqueueRequestCall);
final Capture<EnqueueRequestArgs> captureRequestArgs =
new Capture<EnqueueRequestArgs>();
expect(mupClient.newEnqueueRequestCall().call(capture(captureRequestArgs))).
andThrow(new MUPCoralException("an exception"));
但requestInfo
总是null
。即使我将.andThrow()
部分更改为.andReturn(new RequestInfo())
,它仍然是null
。
我检查了另一个类似的帖子,但没有奏效。现在我可以对其发表评论并因此提出一个新问题。
答案:添加所有模拟的对象replay
!例子replay(mockObj1, mockObj2, ...)