makotan _at_ gmail dot com

メモ:ダイコンとテスト

まず、ダイコンとして切り出す方法

  1. 外部(DB/Net)リソースにアクセス部分(S2DaoつかえばDBに関してはほとんど無し)
  2. 外から処理を受けて動作する部分(ステートレス)

外部リソースにアクセスする部分は、個別に動作する事を確認する。DBの場合はSQLを実際に流してテストする
外から処理を受けて動作する部分は、外部リソースの依存をなくす。具体的に言えば、外部リソースをアクセスする部分をコンテナに注入してもらう。ダミーの外部リソースアクセスのオブジェクトを注入する事で、外部リソースへアクセスした事をUnitテストで確認出来る。いわゆるデータを追加した事をSELECT文で確認するというのは不要になる。戻り値が必要な場合は、ダミーデータを取得して返す。
これで、Junitを使ったステートレスなserviceのテストが出来ると・・・なるほどね〜
ちなみに、Ruleもダイコンに注入してもらうと細かい処理は別にテストできることに気が付いた。