MartinFowlerのMocksAre n't Stubsなど、テストでのモックとスタブに関するさまざまな記事を読みましたが、それでも違いはわかりません。
スタブ
最大の違いは、あらかじめ決められた動作で既に作成したスタブであると思います。したがって、テスト目的で偽造している依存関係(抽象クラスまたはインターフェース)を実装するクラスがあり、メソッドは設定された応答でスタブアウトされます。彼らは特別なことは何もしませんし、あなたはすでにあなたのテストの外でそれのためのスタブされたコードを書いているでしょう。
モック
モックは、テストの一部として、期待どおりにセットアップする必要があるものです。モックは事前に定義された方法でセットアップされていないため、テストでそれを行うコードがあります。期待値を設定するコードは何かを実行する前に実行する必要があるため、ある意味でモックは実行時に決定されます。
モックとスタブの違い
モックで書かれたテストは通常、initialize -> set expectations -> exercise -> verify
テストのパターンに従います。事前に作成されたスタブはinitialize -> exercise -> verify
。の後に続きます。
モックとスタブの類似性
両方の目的は、クラスまたは関数のすべての依存関係のテストを排除することです。これにより、テストは、証明しようとしていることに焦点を絞って簡単になります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加