クライアントサイドのjcoverageに関しては何とか動いたようです。いよいよサーバサイドのカバレッジ計測をやってみようと思います。確認は以下のような環境で行いました。
プロダクト | バージョン | 役割 |
WebSphere | WebSphere 5.0.2テスト環境*1 | WEBコンテナ |
Cactus | 1.7.1 | サーバサイドテスティングフレームワーク |
Junit | 3.8.1 | テスティングフレームワーク |
jcoverage | 1.0.5 | カバレッジツール |
Cactusとはサーバサイドのテスティングフレームワークです。JUnitのクラスを拡張して、WEBコンテナ上でテストを行うためのクラス群を提供します。
具体的には、requestパラメータにいろいろな値をセットしてブラウザのリクエストをシミュレーションすることや、ブラウザへ返却される画面に正しく値がセットされてるかをチェックするクラスなどを提供してくれます。
さて、前回にJUnitとの連携まではやりましたが、今回いままでと違うところはWEBコンテナ上で稼働する箇所とクライアントで稼働する箇所があるというところです。つまりリクエスト情報を構築してリクエストを放るまではクライアント側のJavaVM,リクエストを受けて処理をしてクライアントに返すまではWEBコンテナ上のJavaVM、という位置づけになります。クライアント側のカバレッジ計測についてはある意味いままでと変わらないのですが、WEBコンテナで稼働する部分のカバレッジ計測をどうするかというところがポイントになります。いろいろ調べた結果、以下のようなやり方でやればよい(ような気がする)事がわかりました。
難しかったのはデプロイするクラスにどのようにデバッグを埋め込むかですね。通常、開発環境では、自分でアーカイブは作らなくて環境がデプロイしてくれるからです。
さて例でやってみます。
この記事は
現在のアクセス:17383