jcoverage その2

どうやら,こいつはバイトコードにカバレッジ用のコードを追加するタイプカバレッジツールのようだ.
jcoverageの使い方メモ.

  1. とりあえず対象コードをコンパイル
  2. コンパイルしたクラス(*.class)に対して,jcoverageのinstrumentタスクを実行して,カバレッジ機能を付加する.
  3. instrumentタスクで生成されたバイトコードを実行すると,jcoverage.serというファイルが生成される(これがカバレッジの情報を持ってるらしい).
  4. jcoverage.serとソースディレクトリを指定して,reportタスクを実行するとレポートを生成してくれる.

こんな感じ.
instrumentタスクで,こんな風に


  
    
    
  

#instrumentタスクにあるdatetime属性.書いてないのに,勝手に出てくるのはなんで?


カバレッジの対象にしたくないクラスを指定できちゃう(上記の場合は,テストハーネスを除外したいんだろう).そうした場合,instrumentタスクで生成したクラスだけでは足りないクラスがあるので,クラスパスの設定に注意が要る.

逆に言えば,instrumentタスクで全部のクラスを対象にしちゃえば,出来上がったクラスを使うだけでよいはず.
#テストハーネスを別ディレクトリに生成してれば,何の問題もないだろうに.


(追記)
READMEに「商用利用はGPLじゃねぇぞ」と書いてるっぽい.
#getoptは,同梱されてましたね.