2013-05-17 54 views
0

如何在EasyMock中模擬鏈接方法調用?我有一個鏈接的方法調用:使用EasyMock模擬鏈接方法

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

我試圖做

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

這將引發NullPointerException.

試圖闖入兩點期望這也不起作用。在這種情況下,我得到

匹配的呼叫使用了外面的期望

如何解決此問題得到什麼?

回答

1

斷裂成兩個期望是完全正常的,像下面:

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"); 

你不應該得到關於它的任何異常。

相關問題