IntelliJ IDEA 2026.2 Help

チュートリアル: Kotlin によるテスト駆動開発

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

新規プロジェクトの作成

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

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

  2. 左側のリストから Kotlin を選択します。 新しいプロジェクトに TDD-in-Kotlin という名前を付け、必要に応じてその場所を変更します。

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

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

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

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

    JDK とそのインストール方法の詳細については、 Java 開発キット (JDK) ガイドを参照してください。

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

IntelliJ IDEA は、構成済みの構造と必須ライブラリを使用してプロジェクトを作成します。

新規パッケージの作成

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

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

テストボディを書く

最初のテストを作成する

最初にテストを作成しているため、テスト用のコードを必ずしも使用できるとは限らないため、プロジェクトパネルから最初のテストを作成します。

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

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

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

  3. メニューから Test 関数 を選択して、デフォルトテンプレートからテスト関数を作成します。 テストフレームワークとして JUnit 5 を選択します。

    関数に testMultiplyBy2 という名前を付け、 Enter を押すと、キャレットが関数本体内に配置されます。

    最初のテストを作成する

    デフォルトのテスト関数テンプレート を変更できます。例えば、関数名の頭を test から should に変更したい場合などです。

テストボディを書く

存在しないクラスや関数のテストコードを書くのは直観に反するように見えるかもしれませんが、IntelliJ IDEA はコンパイラーを満足させながら、これを簡単にします。 IntelliJ IDEA は、クラスと関数がまだ存在しない場合に作成できます。

達成したいことを説明するテストを作成し、存在しないクラスで Alt+Enter を押し、 クラスを作成する を選択します。 これにより、コンパイラーを満足させる最小限の実装が得られます。

  1. val calculator = Calculator() を入力し、 Alt+Enter を押して、 クラス「電卓」を作成する を選択します。

    新しいクラスを作成する
  2. クラスコンテナーの選択 から、 別のファイルに抽出 を選択します。 開いたダイアログで、 先ほど作成したmain com.example.demo パッケージを選択します。

  3. 存在しない必要がある関数の名前を含めて、テスト本体を書き続けます。

    val result = calculator.parse("2 * 2") と入力し、 Alt+Enter を押します。 メンバー関数の作成 を選択して、IntelliJ IDEA に裸のスケルトン関数を作成させます。

    関数を作成
  4. テストした関数を実装して、必要な型を返し、問題なくコンパイルされるようにします。 結果の正確さは今のところ重要ではありません。

    テストしたクラスに関数を実装する
  5. テスト関数にアサーションを追加します。 このステートメントは、関数の実際の戻り値を期待されるものと比較し、テストの結果を決定します。 タイプ assertEquals(4, result)

    関数が自動的にインポートされていない場合は、キャレットを assertEquals に置き、 Alt+Enter を押し、 インポート機能 を選択してから org.jetbrains.kotlin:kotlin-test を選択します。

    assertEquals() は、パラメーターが等しいかどうかをチェックし、等しくない場合はテストに失敗する

テストを実行する

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

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

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

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

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

    テストの実行

コードを実装する

次のステップは、テストをパスすることです。これは動作する最も簡単なものを実装することを意味します。

  1. 通常通りの関数 を使用して、テスト対象のコードに移動できます。関数名をクリック したり、キャレット が関数名上にある状態で Ctrl+Alt+B を押す、または Ctrl+Shift+T を押してテストコードと実装コードを切り替えることができます。

  2. テストに合格するように関数 を変更してください。 TDD では、最もシンプルに動作させる方法として、期待する値をハードコーディングすることがよくあります。 このプロセスを繰り返すことで、より現実的な本番コードへと発展していく様子は後ほど説明します。

    テスト条件を満たすようにメソッドのコードを修正する
  3. Shift+F10 を使用して最後のテストを再実行します。

  4. テスト関数 の隣のアイコン が緑色になるまで待ち、テストが合格したことを確認します。 アイコン が緑色にならない場合は、テストに合格するまでコードを変更し続けてください。

    テストの再実行

イテレート

コードの開発は反復的なプロセスです。 TDD スタイルのアプローチに従う場合、これはさらに当てはまります。 より複雑な動作を排除するために、他のケースのテストを追加します。

  1. テストクラスで、再度 Alt+Insert を使用して新しいテスト関数を作成します。

  2. テスト対象の関数 の要件 をさらに指定する第2のテストケースを選択してください。 IntelliJ IDEA の機能を使用することで、クラスや関数 を作成し、コンパイラー が満足するようにできます。

    新しいテストを作成する
  3. この 2 番目のテストケースを実行して、正しい理由で失敗する様子を確認します。

  4. テストに合格するようにテスト対象の関数 のコードを変更してください。

    2 番目のテストにパスするようにコードを改善する
  5. テストクラス 内で Ctrl+Shift+F10 を押して 2 つのテストを再実行し、両方のテストが合格することを確認してください。1 つでも失敗した場合は、テストに合格するまでコードを修正します。 いずれかのテストに失敗した場合は、テストが合格するように必要なコード修正を行ってください。

    2 回目のテストに合格

要約

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

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

2026 年 7 月 14 日