JUnitは、Javaで最も一般的に使用されるテストフレームワークです。
JUnitでよく使われる基本的な注釈とアサーションメソッドを一覧にしてまとめました。
使用方法など詳しくは以下のドキュメントをご覧ください。
JUnit 5 ユーザーガイド
注釈
注釈 | 説明 |
---|---|
@Test | テストメソッドであることを示します。 |
@ParameterizedTest | 異なる引数でテストを複数回実行できます。 |
@BeforeEach | テストメソッドの実行前に毎回実行されます。 |
@AfterEach | テストメソッドの実行後に毎回実行されます。 |
@BeforeAll | テストメソッドの実行前に一度だけ実行されます。 |
@AfterAll | テストメソッドの実行後に一度だけ実行されます。 |
@DisplayName | テストクラスやテストメソッドにカスタムの表示名を指定します。 |
@Nested | ネストした非静的のテストクラス(つまり、内部クラス)を示すために使用されます。 |
@Tag | クラスまたはメソッドにカスタムのタグを指定するために使用されます。 テストのフィルタリングやグループ化に使用され、テストレポートの生成やテストの理解に役立ちます。 |
@Disabled | テストクラスやテストメソッドを 無効化 するのに使われます。 |
アサーションメソッド
メソッド名 | 説明 |
---|---|
assertEquals | 期待値と実際の値が等しいことを検証します。 |
assertNotEquals | 期待値と実際の値が等しくないことを検証します。 |
assertTrue | 条件が真であることを検証します。 |
assertFalse | 条件が偽であることを検証します。 |
assertNull | オブジェクトがnullであることを検証します。 |
assertNotNull | オブジェクトがnullでないことを検証します。 |
assertSame | 期待値と実際の値が同じオブジェクトであることを検証します。 |
assertNotSame | 期待値と実際の値が異なるオブジェクトであることを検証します。 |
使用例
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class ExampleTest {
@BeforeEach
void setUp() {
// テストの前処理
// 例: テストデータの初期化
}
@AfterEach
void tearDown() {
// テストの後処理
// 例: リソースの解放
}
@Test
void testAddition() {
assertEquals(2, 1 + 1);
}
@ParameterizedTest
@ValueSource(strings = { "soccer", "tennis", "baseball" })
void testContainsLetterE(String input) {
assertTrue(input.contains("e"));
}
}