IntelliJ IDEA 2026.2 Help

チュートリアル: テスト駆動開発

運用コードを作成する前にテストを作成する場合でも、後でテストを作成する場合でも、IntelliJ IDEA を使用すると、単体テストの作成と実行が簡単になります。 このチュートリアルでは、最初に IntelliJ IDEA を使用してテスト (テスト駆動開発または TDD(英語)) を作成する方法を示します。

プロジェクトの作成

新規プロジェクトを作成します

  1. IntelliJ IDEA を起動してください。

    'ようこそ' 画面が開いたら、「新規プロジェクト 」をクリックします。 それ以外の場合は、メインメニューの ファイル | 新規 | プロジェクト に移動します。

  2. 左側のリストから Java を選択します。

  3. 新しいプロジェクトに、例えば MoodAnalyser という名前を付け、必要に応じてロケーションを変更します。

  4. ビルドツールとして Gradle を選択し、DSL として Groovy を選択します。

  5. JDK リストから、プロジェクトで使用する JDK を選択します。

    • JDK がコンピューターにインストールされているが、IDE で定義されていない場合は、 ディスクから JDK を追加… を選択し、JDK ホームディレクトリへのパスを指定します。

    • コンピューターに必要な JDK がない場合は、 JDK のダウンロード を選択します。

  6. 作成 をクリックします。

IntelliJ IDEA は、構成済みの構造と必須ライブラリを使用してプロジェクトを作成します。 JUnit 5 は、 build.gradle ファイルへの依存関係として追加されます。

新規パッケージの作成

  1. プロジェクト ツールウィンドウで main | java フォルダーを右クリックし、 新規 | パッケージ を選択します。

  2. 新しいパッケージに com.example.demo という名前を付け、 Enter を押します。

テストボディを書く

最初のテストを作成する

テストしているコードがまだ利用可能である必要はなく、最初にテストを作成していることを考えると、プロジェクトパネルを介して最初のテストを作成し、パッケージに配置します。

  1. テストルートフォルダー を右クリックし、 新規 | Java クラス を選択します。

    開いたポップアップで、新しいパッケージとテストクラスに com.example.demo.MoodAnalyserTest という名前を付けます。

    テストクラス作成
  2. クラスの波括弧内にキャレットを置き、 Alt+Insert を押します。

  3. メニューから テストメソッド を選択して、デフォルトテンプレートからテストメソッドを作成します。

    メソッドに testMoodAnalysis という名前を付け、 Enter を押すと、キャレットがメソッド本体に配置されます。

    最初のテストを作成する

    デフォルトのテストメソッドテンプレートを変更できます。たとえば、メソッド名の先頭を test から should に変更する場合などです。

テストから新しいクラスを作成する

存在しないクラスやメソッドのテストコードを書くのは直感的ではないように思えるかもしれませんが、IntelliJ IDEA はコンパイラーをエラーがない状態に保ちながらこれを簡単にします。 まだ存在していない場合、IntelliJ IDEA はクラスとメソッドを作成できます。

  1. new MoodAnalyser を入力し、 Alt+Enter を押して、 クラス「MoodAnalyser」を作成する を選択します。

    テストから新しいクラスを作成する
  2. 開いたダイアログで、 main | java フォルダー内の com.example.demo パッケージを選択し、 OK をクリックします。

    宛先パッケージの選択

変数の作成

通常どおり、IntelliJ IDEA の リファクタリングツールを使用して結果を格納する変数を作成できます。IntelliJ IDEA は、正しいライブラリがクラスパスにある場合に最適なクラスをインポートします。

  1. テストクラスに戻り、カーソルを new MoodAnalyser の後に置き、 () と入力して Ctrl+Alt+V を押し、 変数の抽出/導入リファクタリングを呼び出します。

  2. 新しい変数に moodAnalyser という名前を付けます。

    Tdd extract variable

テストボディを完成させる

存在しない必要なメソッドの名前を含め、テスト本体の記述を続けます。

  1. テストクラスで、次のステートメントを入力します。

    moodAnalyser.analyseMood("This is a sad message");

    analyseMood は未解決の参照としてマークされます。

  2. analyseMood にキャレットを置き、 Alt+Enter を押して、 'MoodAnalyser' にメソッド 'analyseMood' を作成する をクリックします。

    Ij tdd create method
  3. MoodAnalyser クラスが次のようになっていることを確認してください。

    public class MoodAnalyser { public String analyseMood(String message) { return null; } }
    テスト本体を書く
  4. テストクラス内で、 analyseMood にキャレットを置き、 Ctrl+Alt+V を押して、 mood を入力します。

    変数「ムード」の紹介

アサーションステートメントを追加する

  1. build.gradle ファイルを開き、次の依存関係を追加し、 Gradle の変更を同期 をクリックして変更をインポートします。

    dependencies { testImplementation( 'org.hamcrest:hamcrest-library:2.2' ) }
  2. MoodAnalyserTest に、次のステートメントを追加します。

    assertThat(mood, CoreMatchers.is("SAD"));

    Alt+Enter を押して、不足しているメソッドとクラスをインポートします。

コード

この時点で、テストクラスと本番クラスは次のようになります。

package com.example.demo; public class MoodAnalyser { public String analyseMood(String message) { return null; } }
package com.example.demo; import org.hamcrest.CoreMatchers; import org.junit.jupiter.api.Test; import static org.hamcrest.MatcherAssert.assertThat; public class MoodAnalyserTest { @Test void testMoodAnalysis() { MoodAnalyser moodAnalyser = new MoodAnalyser(); String mood = moodAnalyser.analyseMood("This is a sad message"); assertThat(mood, CoreMatchers.is("SAD")); } }

テストを実行する

TDD アプローチに従うと、通常は Red-Green-Refactor(英語) のサイクルを経ます。 テストを実行し、失敗したら(赤に)、テストをパスするための最も簡単なコードを実装し(緑に)、コードをリファクタリングしてテストが緑色になり、コードが十分にクリーンになるようにします。

このサイクルの最初のステップは、テストを実行して失敗することを確認することです。

IntelliJ IDEA 機能を使用して、テストしているメソッドの最も単純な空の実装を作成したことを考えると、テストに合格することは期待できません。

  • テストの内部から Ctrl+Shift+F10 を押して、この個々のテストを実行します。

    結果は 実行ツールウィンドウに表示されます。 テスト名の横にアイコンが表示されます。例外の場合は赤色、失敗したアサーションの場合は黄色となります。 どちらの型の失敗でも、何が問題だったのかを示すメッセージが表示されます。

    テストの実行

コードを実装する

次のステップは、テストをパスすることです。これは動作する最も簡単なものを実装することを意味します。 TDD では、最もシンプルに動作させる方法として、期待する値をハードコーディングすることがよくあります。 このプロセスを繰り返すことで、より現実的な本番コードへと発展していく様子は後ほど説明します。

テストを修正する

  1. MoodAnalyser で、 nullSAD の戻り値 return "SAD"; に置き換えます。

  2. Shift+F10 を使用して最後のテストを再実行して、テストを再実行します。

    テストパスを参照してください。テストメソッドの横にあるアイコンが緑色になります。

    テストの再実行

イテレート

コードの開発は反復的なプロセスです。 TDD スタイルのアプローチに従えば、これは真実です。 より複雑な振る舞いを追い出すために、他のケースのテストを追加します。

2 番目のテストケースを追加する

  1. テストクラスで、 Alt+Insert を再度使用して、新しいテストメソッドを作成します。 HappyMoods という名前を付けます。

  2. 次のコードをクラスに追加します。

    @Test void HappyMoods() { MoodAnalyser moodAnalyser = new MoodAnalyser(); String mood = moodAnalyser.analyseMood("This is a happy message"); assertThat(mood, CoreMatchers.is("HAPPY")); }
    2 番目のテストを追加する
  3. Alt+Shift+R を押してこの 2 番目のテストケースを実行すると、失敗することがわかります。

    2 番目のテストを追加する

2 番目のテストを修正する

  1. このテストに合格するには、テスト対象のメソッドのコードを変更します。

    package com.example.demo; public class MoodAnalyser { public String analyseMood(String message) { if (message.contains(("sad"))) { return "SAD"; } else { return "HAPPY"; } } }
  2. テストクラス内で Ctrl+Shift+F10 を押し、両方のテストを再実行します(単一のメソッド内ではなく)。すると、どちらのテストもパスしていることが確認できます。

    2 回目のテストに合格

要約

テストファーストスタイルで最初のテストを作成するには、テストクラスを作成し、テストメソッドを作成して、最終的に製品コードとなるコードの空の実装を作成するという、少量のセットアップが必要です。 IntelliJ IDEA は、この初期設定の多くを自動化します。

プロセスを繰り返し、テストを作成し、それらのテストに合格するために必要な変更を加えると、必要な機能と、これらの要件を満たす最も簡単なソリューションの包括的なテストスイートが構築されます。

2026 年 7 月 14 日