JUnit

JUnitのアサーションを利用してみた

Javaのプログラムの単体テストを自動化するツールに「Junit」があり、これを利用すると、テストを自動化でき、繰り返し実行できるようになる。

今回は、Javaの単体テストを自動化できる「Junit」の、よく使うアサーションである、org.junit.Assertクラスに含まれる「assertEquals」「assertTrue」「assertFalse」「assertNull」を使用した、作成したJunitのサンプルプログラムを共有する。

前提条件

下記記事の「IntelliJ IDEA上でSpring Bootプロジェクトの読み込み」までの手順が完了していること。

IntelliJ IDEA上でGradleを使ってWeb画面のSpring Bootプロジェクトを作成してみたSpring Bootのプロジェクトを新規作成を「IntelliJ IDEA」のメニューから実施しようとしたところ、無料の「Commun...

サンプルプログラムの内容

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上図の赤枠は、今回記載するサンプルプログラムの内容である。

「build.gradle」については、以下の通りで、前提条件の内容と特に変更していない。「testImplementation ‘org.springframework.boot:spring-boot-starter-test’」が入っていることにより、junitのアサーションが利用できる。

実際に外部ライブラリを確認すると、下図の赤枠のように、junitが含まれている。
外部ライブラリのjunit

また、テスト対象のプログラム「DemoUtil.java」の内容は以下の通り。今回は、下記クラス内のpublicメソッドをテスト対象にしている。

さらに、作成したJUnitプログラム「DemoUtilTest.java」の内容は以下の通り。テスト対象となるメソッドには、アノテーション「@Test」を付与している。org.junit.Assertクラスに含まれる「assertEquals」「assertTrue」「assertFalse」「assertNull」を使用して、テスト対象メソッドの戻り値を確認している。

また、作成したJUnitプログラムを実行するには、下図のように、通常のJavaプログラムの実行と同じように、対象プログラムを右クリックし「実行」を選択する。
JUnit実行結果1

実行した結果は下図の通りで、JUnitプログラムが正常終了することが確認できた。
JUnit実行結果2

なお、今回取り上げた以外にも、様々なアサーションが利用できる。その内容については以下を参照のこと。
https://waman.hatenablog.com/entry/20120923/1348350852

要点まとめ

  • JUnitのテスト対象となるメソッドには、アノテーション「@Test」を付与する。
  • org.junit.Assertクラスに含まれる「assertEquals」「assertTrue」「assertFalse」「assertNull」等のアサーションを利用すると、想定結果と合っているかの確認が行える。