最近記事投稿数が少ないので、ごまかし程度にメモを。
錆びついたJavaの知識にオイル刺しをしている日々ですが、今日は例外処理をJUnitで実施する方法を調べました。
まずは、Javaでの例外の投げ方。以下の用に記述することで、例外を投げてプログラムを終了させることができます。
throw new (エラー)
たとえば、キューにエンキューしたときに、NULLをエンキューしようとしたときは、以下のようにしてjava.lang.NullPointerExceptionの例外を投げる。
public void addFirst(Item item)
{
if(item == null)
throw new java.lang.NullPointerException();
...
}
これを、Junitで期待した例外で終了したかどうかを検証するためには、try、catchを利用する。fail()がコールされないことを持ってして、成功と判断する。なかなかトリッキーな方法だ。
try{
(例外を発生させる関数);
fail("Error");
}catch((エラー) expected){ }
たとえば、以下のようなテストを記述する。
@Test
public void DequeAddFirstNull()
{
Deque que = new Deque();
try{
que.addFirst(null);
fail("Error");
}catch(NullPointerException expected){ }
}