0

EasyMock でチェーンされたメソッド呼び出しをどのようにモックしますか? 私は連鎖したメソッド呼び出しを持っています:

srvc.getServiceManager().getDetails(Integer.parseInt(msgId));

私はやろうとした

expect(srvc.getServiceManager().getDetails(Integer.parseInt(msgId)))
  .andReturn((String) notNull());

これはNullPointerException.

これを 2 つの期待に分割しようとしてもうまくいきません。その場合、私は得る

マッチャー呼び出しが予想外に使用されました

この問題を回避するにはどうすればよいですか?

4

1 に答える 1

1

以下のように、2 つの期待値に分割することはまったく問題ありません。

final Service mockService = createMock(Service.class);
final ServiceManager mockServiceManager = createMock(ServiceManager.class);

final Capture<Integer> capturedMsgId = new Capture<Integer>();

expect(mockService.getServiceManager()).andReturn(mockServiceManager);
expect(mockServiceManager.getDetails(capture(capturedMsgId))).andReturn("someString");

それについて例外はありません。

于 2013-06-01T12:51:41.520 に答える