モックフレームワークにおけるモックとスパイ 質問する

モックフレームワークにおけるモックとスパイ 質問する

モックフレームワークでは、モックオブジェクトまたはスパイこれら 2 つの違いは何ですか。また、どちらを使用するのが適切ですか。

見つめているモッキート例えば、私は同様のことを次のように行っているのを見ますスパイそしてモックですが、この2つの違いがよく分かりません。

ベストアンサー1

モック オブジェクトは、モックされたクラスを完全に置き換え、記録された値またはデフォルト値を返します。モックを「無から」作成できます。これは、ユニット テスト中に最もよく使用されます。

スパイするときは、既存のオブジェクトを取得し、一部のメソッドのみを「置き換え」ます。これは、巨大なクラスがあり、特定のメソッドのみをモックしたい場合(部分モック)に便利です。引用しましょう。Mockito ドキュメント:

実際のオブジェクトのスパイを作成することができます。スパイを使用すると、本物メソッドが呼び出されます (メソッドがスタブ化されていない限り)。

本物のスパイを使うべきだ注意深く、時々たとえば、レガシー コードを扱う場合などです。

疑問がある場合は、モックを使用してください。

おすすめ記事