Какой лучший способ установить точку останова Eclipse для ожидаемого вызова EasyMock? - PullRequest
0 голосов
/ 21 октября 2010

У меня есть код как

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 Ответ

0 голосов
/ 22 октября 2010

Полагаю, вы могли бы использовать метод 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
   }
});

Это должно сделать это.

Но, возможно, вы хотите сказать больше о том, почему вы хотите это сделать?Это говорит о том, что у вас могут быть проблемы с дизайном ...

...