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

mockClockService.getNow() が呼び出されるたびに Eclipse がプログラムを一時停止するようにしたいと思います。ただし、ClockService はインターフェイスであるため、ClockService.getNow() にブレークポイントを設定できません。また、mockClockService は EasyMock プロキシであるため、expect 行にもブレークポイントを設定できません。

4

1 に答える 1

0

getNow() 呼び出しに応答するには、andAnswer (または andDelegateTo) メソッドを使用できると思います。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 に答える