10

http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.htmlから

いつものように、部分的なモックの警告を読みます: オブジェクト指向プログラミングは、複雑さを個別の特定の SRPy オブジェクトに分割することにより、複雑さへの取り組みが少なくなります。部分モックはこのパラダイムにどのように適合しますか? まあ、そうではありません... 部分的なモックは通常、複雑さが同じオブジェクトの別のメソッドに移動したことを意味します。ほとんどの場合、これはアプリケーションを設計する方法ではありません。

4

1 に答える 1

12

SpyのMockitoドキュメントによると、

実際のオブジェクトをスパイすることは、「部分的なモッキング」の概念に関連付けられることがよくあります。ただし、Mockito スパイは部分的なモックではありません。Mockito スパイは、スパイ自体ではなく、他のクラスのテストを支援することを目的としています。したがって、メソッドが同じオブジェクトで他のメソッドを呼び出すかどうかを確認する場合、スパイは役に立ちません。この場合、OO/SRPy であることをお勧めします (たとえば、新しいクラス/インターフェイスを抽出する可能性があります...)

OO はオブジェクト指向を指し、SRP は単一責任の原則を指します。これは、クラスが 1 つだけの責任を持つ必要があることを示す設計パターンであり、この場合、内部メソッドが呼び出されるかどうかをテストする必要のないコードを作成する傾向があります。

http://en.wikipedia.org/wiki/Single_responsibility_principle

于 2013-06-17T19:23:30.840 に答える