0

我有类似的代码

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 代理,我也不能在期望行上设置断点。

4

1 回答 1

0

我想您可以使用 andAnswer(或 andDelegateTo)方法来响应 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
   }
});

那应该这样做。

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

于 2010-10-21T21:53:05.267 回答