[解決済み] モッキングフレームワークにおけるモッキングとスパイの比較
2022-04-26 21:26:50
質問
モッキングフレームワークでは、次のようなことができます。 模擬 物体または スパイ を付けています。この2つの違いは何ですか?また、どのような場合にどちらかを使うべきなのでしょうか?
を見てみると モッキート を使って、似たようなことをやっているのを見かけます。 スパイ と はりぼて が、この2つの区別がよくわからない。
解決するには?
モックオブジェクトは、モックされたクラスを完全に置き換え、記録された値やデフォルト値を返します。モックは何もないところから作ることができます。ユニットテストでは、主にこれを使用します。
スパイ活動では、既存のオブジェクトを使用して、一部のメソッドだけを置き換えます。これは、巨大なクラスがあり、特定のメソッドだけをモックしたい場合に有効です(パーシャルモッキング)。以下、引用します。 Mockitoのドキュメント :
実物のスパイを作成することができます。スパイを使用するときは リアル メソッドが呼び出されます (メソッドがスタブされている場合を除く)。
本物のスパイを使うべき 慎重に、そして時折 例えば、レガシーコードを扱う場合などです。
迷ったらモックを使え。
関連
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] モッキングとは?
-
[解決済み] Mockitoで静的メソッドをモックする
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】ユニットテスト、インテグレーションテスト、スモークテスト、リグレッションテストとは何ですか?終了
-
[解決済み] Visual Studio 2015または2017でユニットテストが検出されない
-
[解決済み] ユニットテストはゲッターとセッターのために書くべきですか?
-
[解決済み] Rhino Mocksのモックとスタブの違いは何ですか?
-
[解決済み] ユニットテストとは、どのようなもので、どのように行うのですか?[重複あり]
-
[解決済み] TDDとBDDの主な違いは何ですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ユニットテストの命名のベストプラクティス [終了しました]。
-
[解決済み] Gradleを使用して1つのユニットテストクラスのみを実行する方法
-
[解決済み] ユニットテストとインテグレーションテストの違いは何ですか?[重複あり]
-
[解決済み】ユニットテストとは何ですか?[クローズド]
-
[解決済み】ユニットテスト初心者、優れたテストを書くには?[クローズド]
-
[解決済み] いつモックすればいい?
-
[解決済み] GUIをユニットテストするにはどうしたらいいですか?
-
[解決済み] Goでテストカバレッジを測定する方法
-
[解決済み] Go言語でのテストに適したパッケージの命名法
-
[解決済み] 例:無効なutf8文字列?