繁体   English   中英

使用EasyMock模拟链接方法

[英]Mock chained methods using EasyMock

您如何在EasyMock中模拟链式方法调用? 我有一个链接的方法调用:

srvc.getServiceManager().getDetails(Integer.parseInt(msgId));

我试着做

expect(srvc.getServiceManager().getDetails(Integer.parseInt(msgId)))
  .andReturn((String) notNull());

这将引发NullPointerException.

试图将其分解为两个期望也不起作用。 在那种情况下

匹配呼叫被超出预期

我如何解决这个问题?

分成两个期望是完全可以的,如下所示:

final Service mockService = createMock(Service.class);
final ServiceManager mockServiceManager = createMock(ServiceManager.class);

final Capture<Integer> capturedMsgId = new Capture<Integer>();

expect(mockService.getServiceManager()).andReturn(mockServiceManager);
expect(mockServiceManager.getDetails(capture(capturedMsgId))).andReturn("someString");

您不应对此有任何例外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM