第73回 JUnit4 その1
今回から「JUnit4」について学んでいきます。
JUnitは単体テスト(ユニットテスト)の自動化のためのテスティングフレームワークです。
JUnitのテストコードを実行することで、仕様通り動作するかどうかを素早く確認できます。
公式サイトはこちらで、現在の最新バージョンは4.5となっています。
JUnit4からアノテーションに対応し、従来より簡便に使えるようになりました。
今回はJUnit4で以下のSampleクラスのreturnNullメソッドのテストを行います。
公式からjunit-4.5.jarをダウンロードし、クラスパスに含めてください。
SampleクラスのreturnNullメソッドの仕様はnullを返すこととします。
public class Sample { public static Object returnNull() { return null; } }
JUnit4によるテストクラスは以下のように書きます。
@Testというアノテーションは、そのメソッドがテスト用のメソッドであることを示します。
また、Assertクラスを静的インポートしておくとソースが読みやすくなります。
import static org.junit.Assert.*; import org.junit.Test; import org.junit.runner.JUnitCore; public class SampleTest { public static void main(String[] args) { JUnitCore.main(SampleTest.class.getName()); } @Test public void returnNull() { assertNull(Sample.returnNull()); } }
SampleTestクラスを実行すると、テスト結果が表示されます。
今回のサンプルではテスト成功しますが、現場ではそう簡単にいかないのが悔しいところです。
ちなみに、JUnit4より前のJUnitでは、テストクラスは以下のように書きます。
TestCaseクラスを継承し、テスト用のメソッドの名前が「test」から始める必要がありました。
import junit.framework.Assert; import junit.framework.TestCase; import org.junit.runner.JUnitCore; public class SampleTest extends TestCase { public static void main(String[] args) { JUnitCore.main(SampleTest.class.getName()); } public void testReturnNull() { Assert.assertNull(Sample.returnNull()); } }
JUnit4では、テストクラスがPOJOにできるようになったことと、命名規則が緩んだことで、より開発が容易になったのです。