1. ホーム
  2. java

[解決済み] Mockitoドキュメントにおける'SRPy'とは?

2022-02-15 04:15:33

質問

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

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

どのように解決するのか?

Mockitoのドキュメントによると スパイ用 ,

実オブジェクトのスパイというと、quot;partial mocking"の概念と結びつきます。しかし、Mockitoのスパイは部分的なモックではありません。Mockitoのスパイは他のクラスのテストを支援するためのものであり、スパイそのものではありません。そのため、同じオブジェクトのメソッドが他のメソッドを呼び出すかどうかを検証する場合、スパイは役に立ちません。この場合,OO/SRPyであることをお勧めします (例えば,新しいクラス/インタフェースを抽出するなど).

OOとはオブジェクト指向のことで、SRPとは単一責任原則のことです。この場合、内部メソッドが呼び出されたかどうかをテストする必要のないコードを書く傾向があります。

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