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ではなくアノテーションを採用するようになるには、もう少し時間が必要なのかと思ってみたり。。。