5

この呼び出しをモックする簡単な方法はありますか:

objectA.getB().getC();

今私がこれを行う方法は次のとおりです。

A mockA = EasyMock.createMock(A.class);
B mockB = EasyMock.createMock(B.class);
C mockC = EasyMock.createMock(C.class);

expect(mockA.getB()).andReturn(mockB);
expect(mockB.getC()).andReturn(mockC);

私が気にするのはmockCを取得することだけなので、これは少しやり過ぎです。それを行う簡単な方法はありますか?

4

2 に答える 2

0

いいえ、ありません。 を置き換えたい場合ABおよびCモックを使用したテストでは、3 つのモック オブジェクトが必要です。

もう 1 つのアプローチは、実数Aとクラスを使用し、モック オブジェクトBのみに置き換えることです。C次に、単体テストがテストします

  1. 含むクラスobjectA.getB().getC()
  2. A
  3. B

一緒に「ユニット」として。これが理にかなっているかどうかは、具体的なシナリオによって異なります。

于 2012-06-20T22:12:32.667 に答える