代码之家  ›  专栏  ›  技术社区  ›  buzz3791

在EasyMock expect调用上设置Eclipse断点的最佳方法是什么?

  •  0
  • buzz3791  · 技术社区  · 14 年前

    我有类似的代码

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Ladlestein    14 年前

    我想您可以使用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
       }
    });
    

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