[解決済み] モッキングとは?
質問
モッキングとは何ですか?
どのように解決するの?
プロローグ という名詞を調べると モック を辞書で調べると、この言葉の定義のひとつに、次のようなものがあります。 模倣で作ったもの .
モッキングは主に単体テストで使用されます。テスト対象のオブジェクトは は、他の(複雑な)オブジェクトに依存している。動作を分離するために 他のオブジェクトをモックで置き換えて、そのオブジェクトの 実際のオブジェクトの挙動をシミュレートする。これは、実際の オブジェクトをユニットテストに組み込むことは現実的ではありません。
要するに、モッキングとは、その動作をシミュレートするオブジェクトを作成することです。 実オブジェクトを使用します。
を区別したい場合があります。 モッキング とは対照的に スタブ . このテーマについては意見が分かれるかもしれませんが、私のスタブの定義は、シミュレーションされたオブジェクトの最小限のものです。スタブは、テスト対象のオブジェクトがテストを実行するのに必要なだけの振る舞いを実装しています。
モックはスタブのようなものですが、テストでは、テスト対象のオブジェクトが期待通りにモックを呼び出すかどうかも検証します。モックが正しく使用されているかどうかを確認することも、テストの一部です。
例を挙げると 例えば、レコードを保存するための簡単なインメモリ構造を実装することで、データベースをスタブ化することができます。テスト対象のオブジェクトは、データベースのスタブに対してレコードの読み書きを行い、 テストを実行できるようにします。これは、データベースとは関係のないオブジェクトの振る舞いをテストするもので、 データベーススタブはテストを実行させるためだけに含まれることになります。
その代わりに、テスト対象のオブジェクトがデータベースに特定のデータを書き込むことを検証したい場合は、データベースをモック化する必要があります。そして、そのモックに書き込まれた内容についてのアサーションをテストに組み込むことになります。
関連
-
[解決済み] モックとスタブの違いは何ですか?
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] Mockitoは複数回呼び出されたメソッドの引数をキャプチャできますか?
-
[解決済み] Mockitoで静的メソッドをモックする
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】mochaのテスト用ディレクトリを指定するには?
-
[解決済み】Unit Testsの一般的な命名規則にはどのようなものがありますか?[クローズド]。
-
[解決済み】ユニットテスト初心者、優れたテストを書くには?[クローズド]
-
[解決済み] GUIをユニットテストするにはどうしたらいいですか?
-
[解決済み] モッキングフレームワークにおけるモッキングとスパイの比較
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaプロジェクト。ApplicationContextのロードに失敗しました
-
[解決済み] Moqでクラスをモックするとき、特定のメソッドだけをCallBaseする方法は?
-
[解決済み] ユニットテストは努力に値するか?[クローズド]
-
[解決済み】ユニットテスト、インテグレーションテスト、スモークテスト、リグレッションテストとは何ですか?終了
-
[解決済み】ユニットテストと機能テストの違いは何ですか?
-
[解決済み] モックオブジェクトは何のためにあるのか?
-
[解決済み] JUnitを使ったユニットテストのためのIntelliJ IDEAの設定
-
[解決済み] クロームの拡張機能をテストするには?
-
[解決済み】ユニットテストについて語るときの「DAMP not DRY」の意味とは?
-
[解決済み] ユニットテストとは、どのようなもので、どのように行うのですか?[重複あり]