タグ

2012年5月8日のブックマーク (2件)

  • 次世代のモックフレームワークであるJMockitの基本的な使い方 - 達人プログラマーを目指して

    以前のモックフレームワークの技術的制約 今まで私が担当してきたプロジェクトにおいては、モックオブジェクトを使ったJUnitの単体試験はjMockとEasyMockのいずれかのフレームワークを利用して行ってきました。しかし、これらのフレームワークはJavaプラットフォームにおけるコード自動生成の考え方の変遷で説明したように動的プロキシーに基づいているため、以下のような制約がありました。 モック化する対象の型はインターフェースを実装しているか、継承可能なクラスであること モック化するメソッドはfinal、static、privateでないこと*1 モック化するロジックはコンストラクターの呼び出しではないこと モックオブジェクトをテスト対象クラスにDIかパラメーター経由で引き渡すことが可能であること モック化する場合はクラス全体をモック化する必要があること(getterやsetterなどは物の

    次世代のモックフレームワークであるJMockitの基本的な使い方 - 達人プログラマーを目指して
  • JMockitを使ってみる - torutkのブログ

    ユニットテスト対象のクラスが、別なクラスのstaticメソッドを呼んでインスタンスを取得し、そのインスタンスのメソッドを呼び出し、その戻り値によってロジックが左右されるという場合のテストを想定します。 テスト対象クラス // 気象センサーから取得した気温が30度を超過していたら、 // 異常を報告する気象監視クラス。 package monitor; import sensor.WeatherSensor; import sensor.SensorFactory; public class ThresholdMonitor { private WeatherSensor sensor; public ThresholdMonitor() { sensor = SensorFactory.getWeatherSensor(); } // 気温を監視し30度を超過していたら異常を報告する。 p

    JMockitを使ってみる - torutkのブログ