JUnit API探訪:@Test アノテーション

@Test アノテーション

public voidメソッドにこのアノテーションが付いている場合、JUnitに『テストメソッドですよ』と知らせる(=テストメソッドとして実行される)。

public class Example {
	@Test 
	public void method() {
		org.junit.Assert.assertTrue( new ArrayList().isEmpty() );
	}
}
  • @Testアノテーションに expected 属性を付与すると、そのテストメソッドは例外が投げられる事を期待するテストメソッドとなる。例外が投げられない、若しくは異なる例外が投げられた場合、テストは失敗する。
	@Test(expected=IndexOutOfBoundsException.class)
	public void outOfBounds() {
		new ArrayList<Object>().get(1);
	}
  • また、別のオプションとして timeout 属性を付与すると、指定の時間内に終わらない場合、タイムアウトでテストが失敗する。
	@Test(timeout=1000)
	public void checkTimeout() {
		while(true) {
			System.out.println("*");
		}
	}