カテゴリ: Java 更新日: 2026/05/09

JavaのAssertionsとは?JUnit5の検証メソッドを初心者向けにわかりやすく解説

Assertionsクラス
Assertionsクラス

先生と生徒の会話形式で理解しよう

生徒

「JUnit5で、計算結果や文字列が正しいか確認する方法はありますか?」

先生

「JavaのJUnit5では、org.junit.jupiter.apiパッケージにあるAssertionsクラスを使って、値が正しいかを検証できます。」

生徒

「Assertionsは何をするクラスなんですか?」

先生

「テストの中で、期待した値と実際の値が一致しているか、例外が発生するか、値がnullかどうかなどを確認するための便利なメソッドが集まったクラスです。」

生徒

「Javaの単体テストではよく使うんですか?」

先生

「はい。JUnit5でテストを書くなら、Assertionsは必ず覚えておきたい基本です。」

1. Assertionsとは?

「1. Assertionsとは?」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

1. Assertionsとは?
1. Assertionsとは?

JavaのAssertionsは、JUnit5でテスト結果を検証するために使うクラスです。正式にはorg.junit.jupiter.api.Assertionsという名前で、JUnit Jupiterの基本機能として提供されています。

JUnit5で単体テストを書くときは、ただ処理を実行するだけではなく、その処理の結果が正しいかどうかを確認する必要があります。その確認に使うのがAssertionsです。

例えば、足し算の結果が正しいか、文字列が期待通りか、リストの中身が空か、値がnullではないか、例外が発生するかなどを調べることができます。

Java初心者にとって、Assertionsはテストコードの中で「正しい結果かどうかを判定する道具」と考えると分かりやすいです。JUnit5のテストでは、@Testと一緒に使うことが多く、単体テストの基本になります。

2. Assertionsを使うためのインポート

2. Assertionsを使うためのインポート
2. Assertionsを使うためのインポート

Assertionsを使うには、Javaファイルの先頭でJUnit5のクラスをインポートします。

基本的には、org.junit.jupiter.api.Assertionsを読み込み、テストメソッドの中でAssertions.assertEqualsのように呼び出します。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class AssertionsImportTest {

    @Test
    void sampleTest() {

        int result = 2 + 3;

        Assertions.assertEquals(5, result);
    }
}

このコードでは、計算結果が期待した値である五と一致するかを確認しています。一致していればテストは成功し、一致していなければテストは失敗します。

JUnit5のテストでは、このように期待値と実際の値を比較する書き方が非常によく使われます。

3. assertEqualsで値が同じか確認する

3. assertEqualsで値が同じか確認する
3. assertEqualsで値が同じか確認する

Assertionsの中でも特によく使うのがassertEqualsです。これは、期待した値と実際の値が同じかどうかを確認するメソッドです。

数値、文字列、真偽値など、さまざまな値の比較に使えます。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class AssertEqualsTest {

    @Test
    void addTest() {

        int answer = 10 + 5;

        Assertions.assertEquals(15, answer);
    }

    @Test
    void textTest() {

        String message = "Java";

        Assertions.assertEquals("Java", message);
    }
}

この例では、数値の比較と文字列の比較を行っています。どちらも期待した値と実際の値が同じなので、テストは成功します。


テスト成功

Javaの単体テストでは、メソッドの戻り値を確認する場面が多いため、assertEqualsは最初に覚えておきたい検証メソッドです。

4. assertTrueとassertFalseで条件を確認する

「4. assertTrueとassertFalseで条件を確認する」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

4. assertTrueとassertFalseで条件を確認する
4. assertTrueとassertFalseで条件を確認する

Assertionsには、条件が正しいかどうかを確認するためのメソッドもあります。

assertTrueは条件がtrueであることを確認し、assertFalseは条件がfalseであることを確認します。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class AssertBooleanTest {

    @Test
    void adultTest() {

        int age = 20;

        Assertions.assertTrue(age >= 18);
    }

    @Test
    void emptyTextTest() {

        String name = "田中";

        Assertions.assertFalse(name.isEmpty());
    }
}

このコードでは、年齢が十八以上であること、文字列が空ではないことを確認しています。

Javaの条件分岐や入力チェックのテストでは、assertTrueassertFalseがよく使われます。例えば、ログイン判定、会員登録の入力チェック、金額計算の条件判定などで役立ちます。

5. assertNullとassertNotNullでnullを確認する

5. assertNullとassertNotNullでnullを確認する
5. assertNullとassertNotNullでnullを確認する

Javaでは、変数に値が入っていない状態をnullと呼びます。nullの扱いは初心者がつまずきやすいポイントです。

Assertionsでは、値がnullかどうかを確認するためにassertNullassertNotNullを使います。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class AssertNullTest {

    @Test
    void nullTest() {

        String name = null;

        Assertions.assertNull(name);
    }

    @Test
    void notNullTest() {

        String title = "JUnit5";

        Assertions.assertNotNull(title);
    }
}

assertNullは値がnullであることを確認し、assertNotNullは値がnullではないことを確認します。

Javaのアプリケーション開発では、nullチェックはとても重要です。特にSpring BootやWebアプリケーションの開発では、データ取得結果や入力値がnullではないかを確認するテストが必要になることがあります。

6. assertThrowsで例外を確認する

6. assertThrowsで例外を確認する
6. assertThrowsで例外を確認する

Javaのテストでは、正しい処理だけでなく、エラーが起きる場合の確認も重要です。

AssertionsのassertThrowsを使うと、指定した例外が発生するかどうかを確認できます。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class AssertThrowsTest {

    @Test
    void divideByZeroTest() {

        Assertions.assertThrows(ArithmeticException.class, () -> {

            int result = 10 / 0;
        });
    }
}

このコードでは、ゼロで割り算をしたときにArithmeticExceptionが発生することを確認しています。

例外が期待通りに発生すればテストは成功します。逆に、例外が発生しなかったり、別の例外が発生したりするとテストは失敗します。

Javaの実務開発では、不正な入力、存在しないデータ、権限不足、計算エラーなどをテストする場面があります。そのようなときにassertThrowsはとても便利です。

7. static importを使うと読みやすくなる

「7. static importを使うと読みやすくなる」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

7. static importを使うと読みやすくなる
7. static importを使うと読みやすくなる

Assertionsのメソッドは、毎回Assertions.assertEqualsのように書くこともできますが、static importを使うと、より短く書けます。

初心者のうちは通常の書き方でも問題ありませんが、JUnit5のサンプルコードや実務のテストコードではstatic importがよく使われます。


import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.Test;

public class StaticImportTest {

    @Test
    void scoreTest() {

        int score = 80;

        assertEquals(80, score);
        assertTrue(score >= 60);
    }
}

このように書くと、Assertionsというクラス名を省略できます。

テストコードが長くなる場合は、static importを使うことで読みやすくなります。ただし、最初はどのクラスのメソッドか分かりやすい通常の書き方から覚えるのがおすすめです。

8. Assertionsでよく使うメソッド一覧

8. Assertionsでよく使うメソッド一覧
8. Assertionsでよく使うメソッド一覧

JUnit5のAssertionsには多くの検証メソッドがあります。初心者は、まずよく使う基本メソッドから覚えると理解しやすいです。

メソッド 確認内容 使う場面
assertEquals 期待値と実際の値が同じか確認 計算結果や文字列の比較
assertTrue 条件がtrueか確認 条件判定や入力チェック
assertFalse 条件がfalseか確認 不正判定や空文字チェック
assertNull 値がnullか確認 未設定状態の確認
assertNotNull 値がnullではないか確認 データ取得結果の確認
assertThrows 例外が発生するか確認 エラー処理のテスト

これらのメソッドを使い分けることで、JavaのJUnit5テストコードを分かりやすく書けるようになります。

9. 実務で役立つAssertionsの使い方

9. 実務で役立つAssertionsの使い方
9. 実務で役立つAssertionsの使い方

Javaの実務開発では、Assertionsを使った単体テストがとても重要です。特にSpring Bootを使ったWebアプリケーション開発では、サービスクラスや入力チェック、計算処理、例外処理などをテストする場面が多くあります。

例えば、会員登録で名前が入力されているか、料金計算が正しいか、存在しないユーザーを検索したときに例外が発生するかなどを確認します。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class UserServiceTest {

    @Test
    void userNameTest() {

        String userName = "佐藤";

        Assertions.assertNotNull(userName);
        Assertions.assertEquals("佐藤", userName);
    }

    @Test
    void priceTest() {

        int price = 1000;
        int tax = 100;

        Assertions.assertEquals(1100, price + tax);
    }
}

このように、Assertionsを使うことで、Javaの処理が期待通りに動いているかを明確に確認できます。

JUnit5を学ぶうえで、Assertionsは避けて通れない基本です。初心者のうちに、assertEqualsassertTrueassertFalseassertNullassertNotNullassertThrowsを使えるようにしておくと、実務でも役立つテストコードを書けるようになります。

初心者が覚えておきたいポイント

  • AssertionsはJUnit5の検証用クラス
  • パッケージはorg.junit.jupiter.api
  • 期待値と実際の値を比較できる
  • nullチェックや条件チェックにも使える
  • 例外が発生するかも確認できる
  • Spring Bootの単体テストでもよく使われる

まとめ

「まとめ」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

まとめ
まとめ

JavaのJUnit5にあるorg.junit.jupiter.api.Assertionsクラスは、単体テストで正しい結果を確認するために欠かせない重要な機能です。Java初心者がJUnit5を学ぶときは、まずassertEqualsを使った値の比較から覚えることが多いですが、実際には条件判定、nullチェック、例外確認など、さまざまな場面で活用されます。

JUnit5の単体テストでは、単にプログラムを動かすだけでは意味がありません。処理結果が期待通りかどうかを確認してはじめて、テストとして成立します。そのため、AssertionsはJavaテストコードの中心になる存在です。

特にJavaのWebアプリケーション開発やSpring Boot開発では、サービスクラス、コントローラー、リポジトリ、データベース処理など、多くの場所で単体テストが必要になります。Assertionsを使えば、計算結果、入力チェック、データ取得結果、例外発生などを自動的に確認できるため、開発効率を大きく向上できます。

例えば、会員登録処理で名前が空ではないか、ログイン処理で認証結果が正しいか、料金計算で合計金額が一致するかなどをテストできます。Javaの実務では、このような確認処理を毎回手動で行うのではなく、JUnit5とAssertionsを使って自動化することが一般的です。

Assertionsの中でも、特によく使われるのがassertEqualsです。期待値と実際の値を比較する基本メソッドであり、数値計算、文字列比較、戻り値確認などで頻繁に使います。JUnit5を学び始めたら、まずこのメソッドをしっかり理解しておくことが重要です。

また、assertTrueassertFalseを使うことで、条件判定のテストも行えます。例えば、年齢制限の判定、空文字確認、入力チェック、ログイン状態の確認など、実務で利用する場面は非常に多くあります。

Java初心者が特につまずきやすいnullの扱いも、Assertionsを使うと分かりやすく確認できます。assertNullassertNotNullを使えば、値が設定されているかどうかを簡単に検証できます。Spring Bootやデータベース連携では、取得結果がnullになるケースも多いため、nullチェックは重要なテスト項目です。

さらに、Javaのエラー処理テストではassertThrowsが役立ちます。例外が正しく発生するか確認することで、不正な入力や計算エラーなどに対する安全性を高めることができます。Javaの実務開発では、正常系だけでなく異常系テストも非常に重要です。

JUnit5では、Assertionsを使いこなせるようになると、保守しやすいテストコードを書けるようになります。テストコードが整理されていると、あとから修正するときにも読みやすく、チーム開発でも理解しやすくなります。

また、static importを使うことで、Assertions.assertEqualsのような長い記述を短くできます。Javaのサンプルコードや実務コードではstatic importがよく利用されているため、徐々に慣れていくと読みやすいJUnit5コードを書けるようになります。

Javaの単体テストは、初心者のうちは難しく感じるかもしれません。しかし、Assertionsの役割を理解すると、テストコードの意味が一気に分かりやすくなります。特に、期待値と実際の値を比較するという考え方は、JUnit5の基本になる重要な考え方です。

Javaエンジニアとして開発を続けていくなら、JUnit5とAssertionsは必須知識です。Spring Bootを使ったWeb開発、業務システム開発、API開発、データベース処理など、多くの現場で利用されています。初心者のうちからAssertionsをしっかり学んでおくと、実務でも読みやすく安全なコードを書けるようになります。

Assertionsを使った実践的なサンプル

最後に、複数のAssertionsを組み合わせたJUnit5のサンプルコードを見てみましょう。Javaの単体テストでは、複数の条件を組み合わせて確認する場面が多くあります。


import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class FinalAssertionsSample {

    @Test
    void memberTest() {

        String userName = "山田";
        int age = 25;

        Assertions.assertNotNull(userName);
        Assertions.assertEquals("山田", userName);
        Assertions.assertTrue(age >= 20);
    }

    @Test
    void errorTest() {

        Assertions.assertThrows(ArithmeticException.class, () -> {

            int result = 5 / 0;
        });
    }
}

このように、Assertionsを組み合わせることで、Javaの処理を細かく確認できます。単体テストでは、一つの条件だけではなく、複数の検証を組み合わせることで品質を高めていきます。


テスト成功
例外確認成功

JUnit5でAssertionsを学ぶメリット

学べる内容 実務で役立つ場面
assertEquals 戻り値や計算結果の確認
assertTrue 条件判定や入力チェック
assertFalse エラー条件の確認
assertNull null状態の確認
assertNotNull データ取得結果の確認
assertThrows 例外処理の確認

JUnit5のAssertionsを理解すると、Javaのテストコードが読みやすくなるだけでなく、バグを早い段階で見つけやすくなります。特にチーム開発では、テストコードの品質がそのままシステム全体の品質につながることも少なくありません。

そのため、Java初心者のうちからAssertionsを使った単体テストに慣れておくことは非常に重要です。最初は簡単な比較処理から始めて、徐々に例外テストや条件判定テストへ広げていくと理解しやすくなります。

先生と生徒の振り返り会話

生徒

「Assertionsを使うと、Javaの処理結果が正しいか自動で確認できるんですね。」

先生

「はい。JUnit5では、Assertionsを使うことで単体テストを分かりやすく書けます。」

生徒

「assertEqualsだけではなく、assertTrueやassertThrowsもよく使うんですね。」

先生

「その通りです。Javaの実務開発では、条件判定や例外処理の確認も重要なので、複数のAssertionsを使い分けます。」

生徒

「Spring Bootの開発でも役立つと分かりました。」

先生

「はい。JUnit5とAssertionsは、Javaエンジニアにとって非常に重要な基本技術です。まずは簡単なテストから少しずつ慣れていきましょう。」

生徒

「これからは、Javaのプログラムを書いたらAssertionsで確認する習慣をつけてみます。」

先生

「それがとても大切です。単体テストを書けるようになると、Javaプログラミングの理解も深まります。」

カテゴリの一覧へ
新着記事
New1
Java
JavaのNotSerializableExceptionを完全解説!初心者でも理解できるシリアライズと例外処理
新規投稿
New2
Spring
Springの@Repositoryアノテーションの使い方を徹底解説!初心者でもわかるSpringフレームワークのデータアクセス
更新記事
New3
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
更新記事
New4
Java
Javaのjava.mathとBigIntegerのintValueメソッドを完全解説!初心者でもわかる数値変換の基本
更新記事
人気記事
No.1
Java&Spring記事人気No1
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.2
Java&Spring記事人気No2
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.3
Java&Spring記事人気No3
JSP
JSPでフォームを表示して入力を受け取る基本手順をやさしく解説!初心者向けフォーム処理の入門ガイド
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
JSP
JSPでCSSやJSを読み込む基本!外部ファイルのパス指定に注意しよう
No.6
Java&Spring記事人気No6
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.7
Java&Spring記事人気No7
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.8
Java&Spring記事人気No8
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方