ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ダイコン時代のテスト技法 - 単体テスト

UI層は、自動テストは行わない。目視でのテスト。
これまでの経験だとUI層のテストを自動化しようと
すると、労力の割にはえるものが少ない。
テストのために必要なサービス層の実装は、MockInterceptorで
組み込みましょう。


サービス層は、もちろん自動テストを行います。他のサービスや
DAOに依存している場合は、MockInterceptorを使ってテストします。


永続化層も自動テストを行います。永続化層ではモックを使わず、
RDBMSに接続した方がいいと思います。実際にSQLを実行してみないと
分からないことも多いからです。
このとき、S2Unitのデータベーステストサポート機能が役に立ちます。
テストに必要なデータは、あらかじめテーブルに入れておくのではなく、
Excelなどで用意して、テストの直前にテーブルに挿入し、
テストが終わったらきれいに削除しましょう。
S2Unitを使えば簡単にできます。
そうすることで、環境に依存せず何度でも自動テストを実行する
ことができるようになります。


エンティティ層は、私の想定ではロジックはないので、
特にテストは必要ないと思ってます。