2010-10-21 27 views
0

我有这样的代码在EasyMock期望调用上设置Eclipse断点的最佳方式是什么?

ClockService mockClockService = createMock(ClockService.class); 

Long timeFirstNodeCreated = new Date().getTime(); 
expect(mockClockService.getNow()).andReturn(timeFirstNodeCreated) ;   

Long timeFirstNodeDeleted = new Date().getTime(); 
expect(mockClockService.getNow()).andReturn(timeFirstNodeDeleted) ; 

我想Eclipse来中止程序的任何时间mockClockService.getNow()被调用。但是,由于ClockService是一个接口,我无法在ClockService.getNow()上设置断点,并且由于mockClockService是EasyMock代理,所以我无法在预计行上设置断点。

回答

0

我想你可以使用andAnswer(或andlelegateTo)方法来响应getNow()调用;你会写一个IAnswer(或ClockService)的实现,并在你的实现中设置一个断点。如:

expect(mockClockService.getNow()).andAnswer(new IAnswer<Long>() { 
    public Long answer() throws Throwable { 
     return WHATEVER_YOUR_WANT; // Put your breakpoint on this line 
    } 
}); 

应该这样做。

但也许你想多说一些你为什么要这样做?这表明你可能有设计问题...

相关问题