■ 基本
`アノテーション | `説明 | 備考 |
@Test | テストメソッドを表す |
@Test
* JUnit は、このアノテーションがついたメソッドをテストメソッドとみなしてくれる * メソッド名は任意例
@Test public void testGetGifWidth() { int result = 0; try { result = obj.getGifWidth("C:\\test.gif"); } catch (Exception e) { fail("Failed..."); return; } System.out.println("SUCCESSFUL! : " + result); }
@Test(expected=[例外クラス])
* どんな例外がスローされるのを期待するかを、@Test アノテーションの expected 属性を使って記述する * 例外に関するテストで使用する * 例外に関する試験については、以下の関連記事を参照https://blogs.yahoo.co.jp/dk521123/6884475.html
例
@Test(expected=TestException.class) public void testThrowTestException() throws Exception { throwTestException(null); }
@Test(timeout[=[タイムアウト時間(ミリ秒)])
* 指定された時間内にテストが終了しなければ失敗 * パフォーマンス試験などに使える * タイムアウト時間には、テスト環境の作成と検証も含まることに注意 * Thread.sleep() で停止中にタイムアウトが発生しても、タイムアウト発生とみなされないことにも注意
■ テスト実行前後
`アノテーション | `説明 | 備考 |
@Before | テスト前処理/メソッド実行前に都度実行される | |
@BeforeClass | テストメ前処理/テストクラス実行前に一度だけ実行される | |
@After | テスト後処理/メソッド実行後に都度実行される | |
@BeforeClass | テストメ後処理/テストクラス実行後に一度だけ実行される |
@BeforeClass / @AfterClass
* 各テストクラスの実行前/実行後に一度だけ呼び出すことを示すアノテーション * メソッド名は任意 * static にする必要がある(外すと実行時に例外がでる)例
static testTool obj; @BeforeClass public static void beforeClass() throws Exception { obj = new testTool(); }
@Before / @After
* 各テストメソッドの前後に、都度実行することを示すアノテーション * メソッド名は任意 * static にする必要がある(外すと実行時に例外がでる)例
static testTool obj; @Before public static void before() throws Exception { obj = new testTool(); }
■ テストの一括実行関連
`アノテーション | `説明 | 備考 |
@RunWith | テストの一括実行の際等で使用 | @RunWith(Suite.class) |
@SuiteClasses | 一括でテストケースを実行する | @SuiteClasses( { [テストクラス].class }) |
参考文献
* @RunWithhttp://d.hatena.ne.jp/absj31/20120814/1344914721
http://d.hatena.ne.jp/penult/20120114/1326559700
http://www7b.biglobe.ne.jp/~archer/tryjunit4/tryjunit4.html
http://tomoyamkung.net/2013/08/28/java-junit4-enclosed/
http://www.trance.co.jp/wiki/index.php?JUnit4
* @SuiteClasses
http://d.hatena.ne.jp/absj31/20120813/1344869516
`アノテーション | `説明 | 備考 |
@Ignore | テストを無視する | @Ignore("実行しない理由" ) |
@FixMethodOrder | テストの実行順序を制御 | @FixMethodOrder(MethodSorters.NAME_ASCENDING) |
@Ignore
* テストメソッドを無効にするアノテーション * メンテナンスが必要ない時や一時的にテストしない時などに使える * オプションでコメントを付加できる例
@Ignore("This test is ignored") @Test public void testGetInstance() { try { obj.getInstance(null); } catch (Exception e) { e.printStackTrace(); fail("Failed..."); return; } System.out.println("SUCCESSFUL!"); }
参考文献
* @FixMethodOrderhttp://futurismo.biz/archives/2808
http://nanasiblog.blogspot.jp/2013/01/junit411.html
http://blog.fieldnotes.jp/entry/20121209/1355056720
参考文献
http://symfoware.blog68.fc2.com/blog-entry-992.htmlhttp://d.hatena.ne.jp/absj31/20120812/1344781770
http://etc9.hatenablog.com/entry/20090823/1251019936