JTiger
JTigerは、JDK5.0で動作しアサーション・メソッドが豊富という事、試す価値アリ。
http://www.jtiger.org からダウンロード出来ます。
JTiger のアノテーションは以下の通り。
@Test:テストを実行するメソッドを示す
@Category:テストのカテゴリーを示す。テスト・メソッドもしくはテスト・クラスに付加する。
@ExpectException:期待する例外が発生するか否かをテストすることを示す。テスト・メソッドに付加する。
@Fixture:テスト・クラスであることを示すが、必須ではない。リポート表示に用いる。
@Ignore:テストをスキップすることを示す。テスト・メソッドに付加する。
@Repeat:テストを繰り返し実行することを示す。テスト・メソッドに付加する。
@SetUp:テスト・メソッドの実行前に実行するメソッドを示す。
@TearDown:テスト・メソッドの実行後するメソッドを示す。
テストのスキップなんかは
@Ignore("今回はテストをスキップします") @Test public void hogehoge(){ }
例外発生テストは
@Test @ExpectException(value=java.io.IOException.class, subclass=true) public void hoge() throws IOException{ throw new java.io.FileNotFoundException(); }
subclassは、発生例外がvalueで指定した例外クラスのサブクラスである場合、許容するか否かを設定。
なかなかよさそうな感じ。
最近はアノテーションと聞くと、やけに反応してしまう(笑)
話しは変わるが、まだ周りではXMLという響きの方に人気があったりするが、アノテーションでも全然いいと思う。
例えば
上司「ここらへんの設定はどこに設定するんだい???」
部下1「そこらへんは全てXMLファイルで設定してます」
部下2「そこらへんは全てアノテーションで設定してます」
ケースバイケースだが現時点での現場だと、大半は部下1に軍配があがるような気がする。
実案件でXMLではなくアノテーションを採用するようになるには、もう少し時間が必要なのかと思ってみたり。。。