MacのEclipseでdjUnit使わなきゃいけなくなって色々大変だったのでメモ
- Eclipse Junoにインストール
- java.lang.VerifyError への対処
djUnitのメリットについてはこちらを参照:
djUnitで Virtual Mock Objects ユニットテスト
Eclipse Junoにインストール
※なぜかはわからないけどMarsにはインストールできなかったので、すでに動いてる報告のあったJunoに入れた。(最新版ならできるかもしれないけど試していない)
参考: テストを楽にっ!!「djUnit」によるJavaソーステスターへの道
ヘルプ>新規ソフトウェアのインストール から
http://works.dgic.co.jp/djunit/update/3.5.x/site.xml
を作業対象に追加して少し待つとdjUnit pluginが出てくるのでチェックして次へ。
同意したりして進んでいけば導入完了。
テストをするプロジェクトを右クリックしてビルドパス>ビルドパスの構成でライブラリに外部Jarを追加でpluginsフォルダの中のdjunit.jarを追加。
次にテストするプロジェクトを右クリックしてプロパティを選択。djUnitの項目を選択して、coverageのタブで「coverageを使用する」にチェック。Virtual Mock Objectsのタブを選択して、「Virtual MockObjectsを使用する」にチェック。適用を選択。
これでとりあえず使えるようになるはず。
Junit4を使ってやるかJunit3でやるかでテストコードの書き方が違うので注意。
詳しくはこちらを参照:
テストケースの準備
java.lang.VerifyError への対処
JDK7以降で使おうとすると以下のエラーがでるかもしれない。
java.lang.VerifyError: Expecting a stackmap frame at branch target (略)
実行するときにオプションで-XX:-UseSplitVerifierをつけてやればいいらしい。
参考:既存プロジェクトをJDK8へ移行したら、java.lang.VerifyErrorが出た
Eclipseで設定するには実行の構成>引数で、djUnitのところのテストコードを選択して、VM引数に-XX:-UseSplitVerifierを書き込んで適用。
これでエラーが消えてちゃんと使えるはず。