Mockito-overview
提供:Dev Guides
Mockito-概要
モッキングとは何ですか?
モッキングは、クラスの機能を単独でテストする方法です。 モックでは、機能をテストするためにデータベース接続やプロパティファイルの読み取りやファイルサーバーの読み取りは必要ありません。 モックオブジェクトは、実際のサービスのモックを行います。 モックオブジェクトは、渡されたダミー入力に対応するダミーデータを返します。
モッキート
Mockitoは、モックオブジェクトのシームレスな作成を容易にします。 Java Reflectionを使用して、特定のインターフェイスのモックオブジェクトを作成します。 モックオブジェクトは、実際の実装のプロキシにすぎません。
株式の価格の詳細を返す株式サービスの場合を考えてみましょう。 開発中、実際のストックサービスを使用してリアルタイムデータを取得することはできません。 そのため、ストックサービスのダミー実装が必要です。 Mockitoは、その名前が示すように、同じことを非常に簡単に行うことができます。
Mockitoの利点
- 手書きなし-自分でモックオブジェクトを書く必要はありません。
- リファクタリングセーフ-実行時にMocksが作成されるため、インターフェイスメソッドの名前を変更したり、パラメーターを並べ替えたりしても、テストコードが破損することはありません。
- 戻り値のサポート-戻り値をサポートします。
- 例外サポート-例外をサポートします。
- 順序チェックのサポート-メソッド呼び出しの順序のチェックをサポートします。
- 注釈のサポート-注釈を使用したモックの作成をサポートします。
次のコードスニペットを考えてください。
上記のプログラムの重要な概念を理解しましょう。 完全なコードは、 _ First Application_ の章で入手できます。
- ポートフォリオ-株式のリストを保持し、株価と在庫量を使用して計算された市場価値を取得するオブジェクト。
- ストック-ID、名前、数量など、ストックの詳細を保持するオブジェクト。
- StockService -株式サービスは、株式の現在の価格を返します。
- * mock(…)*-Mockitoはストックサービスのモックを作成しました。
- * when(…)。thenReturn(…)*-stockServiceインターフェイスのgetPriceメソッドのモック実装。 googleStockの場合、価格として50.00を返します。
- * portfolio.setStocks(…)*-ポートフォリオには2つの銘柄のリストが含まれるようになりました。
- * portfolio.setStockService(…)*-stockService Mockオブジェクトをポートフォリオに割り当てます。
- * portfolio.getMarketValue()*-ポートフォリオは、模擬株式サービスを使用して、株式に基づいて市場価値を返します。