JUnitで例外がスローされるのをテストする

最近は少しずつテストファーストな開発を目指しつつある。まだまだ先は長いけど。

JUnitを使ってテストを行う時、対象メソッドがある例外をスローすることを確認したい場合、どうやればいいんだろう?とTestCaseのAPIを探してみたけど、それらしきメソッドがない。テキトーにJUnitでググってみたら、fail()を使った次のようなコードで実現できることが分かった。

次の例はテストメソッドがNullPointerExceptionをスローすれば成功となるような場合。

public void testMethodThrowsNullPointer() {
  try {
    testTargetObject.method(null);
    fail("この行が実行されたらエラー");
   } catch (NullPointerException e) {
    //succeed
   }
}
Last updated on July 8, 2015