1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JUnitの使い方 #忘備録

Last updated at Posted at 2024-11-05

JUnitのユーザーガイド

以下のJUnitのユーザーガイドを参考にJUnitの基本的な使い方を
まとめました。

基本的な使い方

 1、テスト対象クラスを作成する
 2、テストメソッドを作成する
 3、アノテーションを付けてテストを実行する
 4、テスト結果を確認する

1. テスト対象のクラスを作成

Calculator.javaというクラスを作成しています。
足し算・引き算を行う簡単なメソッドを定義しています。


package hogehoge;

public class Calculator {

	// テストメソッド:足し算
	public int add(int a, int b) {
		return a + b;
	}

	// テストメソッド:引き算
	public int subtract(int a, int b) {
		return a - b;
	}

}

2. テストクラスを作成

CalculatorTest.javaをテストするための
CalculatorTest.javaというクラスを作成しています。

テスト対象のクラス名+Testの形でテストクラスを作ります。


package hogehoge;

import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

class CalculatorTest {

	/**
	 * @throws java.lang.Exception
	 */
	@BeforeEach
	void setUp() throws Exception {
	}

	/**
	 * @throws java.lang.Exception
	 */
	@AfterEach
	void tearDown() throws Exception {
	}

	/**
     * 成功パターン 2+3のテストケース
	 * {@link hogehoge.Calculator#add(int, int)} のためのテスト・メソッド。
	 */
	@Test
	void testAdd1() {
		Calculator calculator = new Calculator();
		int result = calculator.add(2, 3);
		assertEquals(5, result, "2 + 3 should equal 5");
	}
	
	/**
   * 失敗パターン 8+3のテストケース
	 * {@link hogehoge.Calculator#add(int, int)} のためのテスト・メソッド。
	 */
	@Test
	void testAdd2() {
		Calculator calculator = new Calculator();
		int result = calculator.add(8, 3);
		assertEquals(5, result, "2 + 3 should equal 5");
	}


	/**
   * テストケース 5-3のテストケース
	 * {@link hogehoge.Calculator#subtract(int, int)} のためのテスト・メソッド。
	 */
	@Test
	void testSubtract() {
		Calculator calculator = new Calculator();
		int result = calculator.subtract(5, 3);
		assertEquals(2, result, "5 - 3 should equal 2");
	}

}

3. アノテーションを付けてテストを実行

テストメソッドに、@Testアノテーションを付けるだけでテスト実行可能です。
上記のコードの場合、testAdd1testAdd2testSubtract@Test
付けているためテスト実行することができます。

4. テスト結果を確認

image.png
実行結果の確認
 testAdd1:成功
 testAdd2:失敗
 testSubtract:成功

失敗したテストメソッドの実際と予想を比較確認
image.png

失敗したテストメソッドのコンソールの確認
image.png

よく使う JUnit のアノテーション

1. @Test

最も基本的なアノテーションで、テストメソッドに付けます。
これがないと、そのメソッドはテストとして認識されない

@Test
void testMethod() {
    // テスト内容
}

2. @BeforeEach / @AfterEach

各テストメソッドの前後に実行されるメソッドを定義するためのアノテーションです。
テストメソッドの前に共通の初期化処理を行ったり、テスト後に後処理を行ったりする。

@BeforeEach
void setUp() {
    // テストごとに実行される処理
}

@AfterEach
void tearDown() {
    // テスト後に実行される処理
}

3. @BeforeEach / @AfterEach

@BeforeEach@AfterEach が各テストメソッドごとに実行されるのに対して
@BeforeAll@AfterAll はクラス全体で 1 回だけ実行されます。
これらは静的メソッドに付ける必要がある。

@BeforeAll
static void initAll() {
    // テストクラス全体で一度だけ実行される処理
}

@AfterAll
static void tearDownAll() {
    // テストクラス全体で一度だけ実行される処理
}

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?