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