はじめに
今回は、Javaで「JUnit」について勉強したことを記載していきたいと思います。
JUnitとは
「Junit」とは、オープンソースで用意されているJavaのテスト用フレームワークのことです。JUnitを使用して作成したテストコードはテストを統一化・自動化することができます。
JUnitの使用方法
前提
この記事では「VSCode」+「Maven」を例に実行していきます。
Mavenプロジェクトの作成方法はこちらを参照してください。
【VSCode】Mavenプロジェクトのjarファイル作成方法について – SEもりのLog
pom.xmlの確認
前提の記事の通りにプロジェクトを作成している場合、自動的に設定されていますがない場合は、自身で追加してください。
~~~~~
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
~~~~~
テストコードの確認
こちらも前提の記事の通りにプロジェクトを作成している場合、自動的に設定されていますがない場合は、自身で追加してください。
package com.example;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
/**
* Unit test for simple App.
*/
public class AppTest
{
/**
* Rigorous Test :-)
*/
@Test
public void shouldAnswerWithTrue()
{
assertTrue( true );
}
}
テストの実行
テストの実行を行う場合はテストコードを右クリックし「テストの実行」を押します。
結果確認
assertTrueメソッドの結果を「true」「false」にそれぞれ変更して実施してみてください。テスト結果が「true」の場合OKとなり「false」の場合エラーとなるはずです。
自身で作成したメソッドでテストしてみる
テスト対象となるメソッドの用意
テスト対象になるメソッドを用意します。今回はブランクのみ「true」を返却するメソッドを用意します。
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
// テスト対象のメソッド
public static boolean isEmpty (String target) {
if (target == null || !target.isEmpty()) {
return false;
} else {
return true;
}
}
}
テストコード
テストコードを用意します。テスト対象のメソッドに対して3パターンの値を投げてテストを実施してみます。
public class AppTest
{
@Test
public void isEmptyTest01()
{
assertTrue(App.isEmpty(""));
}
@Test
public void isEmptyTest02()
{
assertFalse(App.isEmpty(null));
}
@Test
public void isEmptyTest03()
{
assertFalse(App.isEmpty("test"));
}
}
実行
すべての結果がOKになることを確認します。
検証メソッドの種類
テスト結果を検証すためのAssertメソッドは複数種類が用意されています。
メソッド名 | 詳細 |
assertTrue | 期待値がTrueであることを検証 |
assertFalse | 期待値がFalseであることを検証 |
assertEquals | 期待値と結果がイコールであることを検証 |
assertNull | 期待値がNullであることを検証 |
assertNotNull | 期待値がNullでないことを検証 |
assertArrayEquals | 期待値の配列の結果がイコールであること |
assertSame | 期待値のオブジェクトの結果がイコールであること |
assertNotSame | 期待値のオブジェクトの結果がイコールではないこと |
実施前処理/実施後処理
テストの実施前に処理を実施したい場合、アノテーションに「@Before」を付けたメソッドを用意します。
テスト実施後に処理を実施したい場合、アノテーションに「@After」を付けたメソッドを用意します。
例
@Before
public void init()
{
System.out.println("前処理");
}
@After
public void down()
{
System.out.println("後処理");
}
ドキュメント
【公式】
JUnit 5
最後に
Javaの環境構築は、この記事を参照してみてください。
【開発環境構築】VS CodeでJavaを使用するための環境構築を実施する – SEもりのLog (selifemorizo.com)
以上、ログになります。
これからも継続していきましょう!!
コメント