JUnit 入門
このチュートリアルでは、プロジェクト用に JUnit をセットアップし、テストを作成し、実行して、コードが正しく動作しているかどうかを確認する方法を学習します。それは始めるための基本的なステップだけを含んでいます。
JUnit について詳しく知りたい場合は、公式ドキュメント(英語)を参照してください。IntelliJ IDEA のテスト機能の詳細については、このセクションの他のトピックを参照してください。
Maven、Gradle、IntelliJ ビルダーのいずれかを使用してチュートリアルに従うことを選択できます。
プロジェクトの作成
メインメニューで、
に移動します。新規プロジェクトウィザードで、左側のリストから Java を選択します。
プロジェクトの名前(例:
junit-tutorial
)を指定し、ビルドツールとして Maven を選択します。JDK リストから、プロジェクトで使用する JDK を選択します。
JDK がコンピューターにインストールされているが、IDE で定義されていない場合は、JDK を追加を選択し、JDK ホームディレクトリへのパスを指定します。
コンピューターに必要な JDK がない場合は、JDK のダウンロードを選択します。
作成をクリックします。
依存関係を追加する
プロジェクトで JUnit 機能を使用するには、依存関係として JUnit を追加する必要があります。
プロジェクトのルートディレクトリで pom.xml を開きます。
pom.xml で、Alt+Insert を押して、依存を選択します。
開いたダイアログで、検索フィールドに「
org.junit.jupiter:junit-jupiter
」と入力します。検索結果で必要な依存関係を見つけて、追加をクリックします。
依存関係が pom.xml に追加されたら、Ctrl+Shift+O を押すか、Maven ツールウィンドウで
をクリックして変更をインポートします。
プロジェクトの作成
メインメニューで、
に移動します。新規プロジェクトウィザードで、左側のリストから Java を選択します。
プロジェクトの名前(例:
junit-tutorial
)を指定し、ビルドツールとして Gradle を選択します。JDK リストから、プロジェクトで使用する JDK を選択します。
JDK がコンピューターにインストールされているが、IDE で定義されていない場合は、JDK を追加を選択し、JDK ホームディレクトリへのパスを指定します。
コンピューターに必要な JDK がない場合は、JDK のダウンロードを選択します。
作成をクリックします。
依存関係を追加する
プロジェクトで JUnit 機能を使用するには、依存関係として JUnit を追加する必要があります。
プロジェクトのルートディレクトリで build.gradle を開きます。
build.gradle で、Alt+Insert を押して、Maven アーティファクト依存関係を追加を選択します。
開いたツールウィンドウで、検索フィールドに
org.junit.jupiter:junit-jupiter
と入力します。検索結果で必要な依存関係を見つけて、追加をクリックします。
依存関係が build.gradle に追加されたら、Ctrl+Shift+O を押すか、Gradle ツールウィンドウで
をクリックして変更をインポートします。
プロジェクトの作成
メインメニューで、
に移動します。新規プロジェクトウィザードで、左側のリストから Java を選択します。
プロジェクトの名前(例:
junit-tutorial
)を指定し、ビルドツールとして IntelliJ を選択します。JDK リストから、プロジェクトで使用する JDK を選択します。
JDK がコンピューターにインストールされているが、IDE で定義されていない場合は、JDK を追加を選択し、JDK ホームディレクトリへのパスを指定します。
コンピューターに必要な JDK がない場合は、JDK のダウンロードを選択します。
作成をクリックします。
依存関係を追加する
プロジェクトで JUnit 機能を使用するには、依存関係として JUnit を追加する必要があります。
メインメニューで、
(Ctrl+Alt+Shift+S) に移動します。プロジェクト設定でライブラリを選択し、
をクリックします。
開いたダイアログで、必要なライブラリアーティファクトを指定します(例:
org.junit.jupiter:junit-jupiter:5.9.1
)。変更を適用し、ダイアログを閉じます。
アプリケーションコードを書く
テストするコードをいくつか追加しましょう。
プロジェクトツールウィンドウ Alt+1 で、src/main/java に移動し、
Calculator.java
という Java ファイルを作成します。次のコードをファイルに貼り付けます。
import java.util.stream.DoubleStream; public class Calculator { static double add(double... operands) { return DoubleStream.of(operands) .sum(); } static double multiply(double... operands) { return DoubleStream.of(operands) .reduce(1, (a, b) -> a * b); } }
テストの作成
それでは、テストを作成しましょう。テストは、別のコードが正しく動作しているかどうかをチェックする機能を持つコードです。チェックを行うために、テストされたメソッドを呼び出し、その結果を事前定義された期待される結果と比較します。期待される結果は、たとえば、特定の戻り値または例外である可能性があります。
キャレットを
Calculator
クラス宣言に配置し、Alt+Enter を押します。または、右クリックしてコンテキストアクションの表示を選択します。メニューからテストの作成を選択します。テストする 2 つのクラスメソッドを選択します。
エディターは、新しく作成されたテストクラスに移動します。
add()
テストを次のように変更します。@Test @DisplayName("Add two numbers") void add() { assertEquals(4, Calculator.add(2, 2)); }この簡単なテストでは、メソッドが 2 と 2 を正しく追加するかどうかを確認します。
@DisplayName
アノテーションは、テストのより便利で有益な名前を指定します。では、1 つのテストに複数のアサーションを追加し、一部が失敗したかどうかに関係なく、すべてを実行したい場合はどうでしょうか。
multiply()
メソッドでそれを実行しましょう。@Test @DisplayName("Multiply two numbers") void multiply() { assertAll(() -> assertEquals(4, Calculator.multiply(2, 2)), () -> assertEquals(-4, Calculator.multiply(2, -2)), () -> assertEquals(4, Calculator.multiply(-2, -2)), () -> assertEquals(0, Calculator.multiply(1, 0))); }assertAll()
メソッドは、ラムダ式の形式で一連のアサーションを受け取り、それらすべてがチェックされていることを確認します。これは、テスト全体の結果ではなく、常に詳細な結果が表示されるため、複数の単一アサーションを持つよりも便利です。
テストを実行し、その結果を表示する
テスト用のコードを設定したら、テストを実行して、テストしたメソッドが正しく機能しているかどうかを確認できます。
個別のテストを実行するには、ガターの
をクリックして、実行を選択します。
テストクラスですべてのテストを実行するには、テストクラス宣言に対して
をクリックし、実行を選択します。
実行ツールウィンドウでテスト結果を表示できます。

関連ページ:

SDK
ソフトウェア開発キットまたは SDK は、特定のソフトウェアフレームワーク用のアプリケーションを開発するために必要なツールのコレクションです。例: Java でアプリケーションを開発するには、Java SDK(JDK) が必要です。SDK には、バイナリ、バイナリのソースコード、ソースコードのドキュメントが含まれています。JDK ビルドにはアノテーションも含まれています。一般に、SDK はグローバルです。つまり、1 つの SDK を複数のプロジェクトやモジュールで使用できます。新しいプロジェクトを作...

Maven
IntelliJ IDEA は Maven との完全な統合をサポートしており、ビルドプロセスの自動化に役立ちます。新しい Maven プロジェクトを作成したり、既存のプロジェクトを開いて同期したり、既存の IntelliJ IDEA プロジェクトに Maven サポートを追加したり、マルチモジュールプロジェクトを設定・管理したりできます。Maven プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを参照してくだ...

Gradle
IntelliJ IDEA は Gradle との完全な統合をサポートしており、ビルドプロセスの自動化に役立ちます。新しい Gradle プロジェクトを簡単に作成したり、既存のプロジェクトを開いて同期したり、複数のリンクされたプロジェクトを同時に操作したり、管理したりできます。Gradle プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを参照してください。新規 Gradle プロジェクトを作成する新規プロジ...

テストの準備
IntelliJ IDEA は、JUnit、Spock、TestNG など、複数の Java テストフレームワークですぐに使用できます。IDE では、必要なテストメソッドとともに、ソースコードから直接テストクラスを作成できます。ショートカットを使用して、テストクラスとソースコードを切り替えたり、複数のテストを実行したり、各テストの統計を表示したり、テスト結果をファイルにエクスポートしたりできます。IntelliJ IDEA はコードカバレッジも備えており、コードを分析して、コードのどの領域がテスト...

テストフレームワーク
このページには、IntelliJ IDEA でサポートされているテストフレームワークがリストされています。IntelliJ IDEA のエディションが対象のフレームワークをサポートしていることを確認してください。フレームワークおよび IntelliJ IDEA Ultimate でのみ利用可能な言語には、Ultimate バッジが付いています。IntelliJ IDEA エディションの詳細については、比較表を参照してください。JUnit、Groovy、TestNG、Spock、Selenium(Int...

実行 / デバッグ構成: JUnit
JUnit 実行 / デバッグ構成は、JUnit テストフレームワークに基づくユニットテストの実行方法を定義します。新しい JUnit 実行構成を作成するメインメニューで、に移動します。実行 / デバッグ構成ダイアログで、ツールバーのをクリックするか、を押します。リストには、実行 / デバッグ構成テンプレートが表示されます。JUnit を選択します。右側に、構成オプションが表示されます。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。実行構成を実行す...