Eclipse で JUnit
http://www.javaroad.jp/opensource/js_eclipse9.htm (現存しない)
前準備
Java 25(Temurin 25 JDK) のインストール
Eclipse Temurin(Adoptium)のインストールを行い、Javaのプログラムをコンパイル・実行する環境を整える。扱う環境は、Windows搭載パソコンである。現時点(2026年6月)での最新LTS版である Java 25(Temurin 25 JDK)を推奨する。
[Windows での Java 25(Temurin 25 JDK) のインストール手順を見るには、ここをクリック]
Windows での Java 25(Temurin 25 JDK) のインストール
以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。
方法 1:winget によるインストール
【インストールコマンドの実行方法】
管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。
Temurin の Windows インストーラー(.msi)は、ユーザー単位ではなくマシン単位でインストールされる(1台に1つのインストール)。そのため、システム全体(全ユーザー向け)にインストールするには管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。
REM Java 25(Temurin 25 JDK) をインストール(PATH と JAVA_HOME を更新)
winget install --id EclipseAdoptium.Temurin.25.JDK -e --silent --accept-source-agreements --accept-package-agreements --override "ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome INSTALLDIR=\"C:\Program Files\Eclipse Adoptium\jdk-25\" /quiet"
上記の --override 内の指定の意味は次のとおりである。FeatureEnvironment はPATH環境変数の更新、FeatureJavaHome は JAVA_HOME 環境変数の更新、FeatureJarFileRunWith は .jar ファイルとJavaアプリケーションの関連付けである。INSTALLDIR はインストール先フォルダの指定である。
方法 2:インストーラーによるインストール
- Adoptium公式サイト(https://adoptium.net/temurin/releases/)にアクセスし、Version として「25 - LTS」、Operating System として「Windows」を選び、
.msi形式のWindows用インストーラーをダウンロードする。 - ダウンロードした
.msiファイルを実行し、インストールプログラムを起動する。 - ライセンス条項を確認し、同意できる場合はチェックを入れて次へ進む。
- 「Installation Scope」画面では「Install for all users of this machine」を選ぶ
- 「Custom Setup(カスタムセットアップ)」画面で、インストールする機能を選択する。既定では「Add to PATH(PATH環境変数への追加)」と「Associate .jar」(.jarファイルの関連付け)が有効になっている。さらに、ツリー内でバツ印(×)が付いている「Set JAVA_HOME variable(JAVA_HOME環境変数の更新)」をクリックして有効に変更することを推奨する。これらを有効にしないと、コマンドプロンプトから
javaコマンドを実行できなかったり、開発ツールがJDKを見つけられなかったりする。 - 「次へ (Next)」をクリックし、続いて「インストール (Install)」をクリックしてインストールを開始する。完了後「Finish」で閉じる。
インストールの確認
コマンドプロンプトで以下を実行する。
java --version
バージョン番号(例:openjdk 25.x.x)が表示されればインストール成功である。「'java' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していないか、PATHが反映されていない(コマンドプロンプトを再起動して再度確認する)。
あわせて、コンパイラと JAVA_HOME も確認しておくとよい。
javac --version
echo %JAVA_HOME%
Eclipse のインストール
Eclipse をインストールする。扱う環境は、Windows搭載パソコンである。
Windows での Eclipse のインストール 以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。 方法 1:winget によるインストール 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → winget が使えない場合や,インストール先・パッケージ種類を画面で選びながら導入したい場合は,次の方法を用いる。 方法 2:インストーラーによるインストール 公式サイトからダウンロードしてインストールできる。詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。 Eclipse の初期設定、使用方法の基本 詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。[Windows での Eclipse のインストール手順を見るには、ここをクリック]
cmd と入力 → 右クリック → 「管理者として実行」)。そして,コマンド全体をコマンドプロンプトにコピー&ペーストする。REM Temurin 25 JDK をインストール
winget install --id EclipseAdoptium.Temurin.25.JDK -e --accept-source-agreements --accept-package-agreements
新規プロジェクトの作成
- 「File (ファイル)」→「New (新規)」→「Project (プロジェクト)」
- 「Java」→「Java Project (Javaプロジェクト)」を選択→「Next (次へ)」
- 新規Javaプロジェクトのウインドウが開くので,プロジェクト名を付ける(1行目). プロジェクト名には好きにつけて良いが,全角文字は避ける.分かりやすい名前が良い.
例題:Money クラスの単体テスト
- クラス Money の作成
- パッケージ・エクスプローラ内にプロジェクト一覧が表示されている. プロジェクト名を選んで右クリック
- 「New (新規)」→「Class (クラス)」
- パッケージ名を「hoge.hoge.com」のように(ドメイン名)を付ける(2行めの「Package (パッケージ)」のところ)
- クラス名を付ける(4行目の「Name (クラス)」のところ).ここでは Money と付ける.
- 「Finish (終了)」
- 単体テスト用クラス MoneyTest の定義
- パッケージ・エクスプローラ内で,さっき作ったパッケージ名を選んで右クリック
- 「New (新規)」→「JUnit Test Case」
- JUnit Test Case のウインドウが開く
最初に JUnit Test Case を作成するときに限り
JUnit 3.8.1 is not on the build path of project 'hogehoge'. Click here to add JUnit 3.8.1 to the build path and open the build path dialog.
と出るので「Click Here」をクリックする.
- クラス名を付ける.ここでは MoneyTest と付ける.(4行目の「Name 」のところ)
- テスト用のメソッドを定義
MoneyTest.java に,テスト用メソッド testAdd() を定義する.
パッケージ・エクスプローラ内でMoneyTest.javaをダブルクリックし,次のように書く.
public void testAdd() { Money m12CHF= new Money(12, "CHF"); Money m14CHF= new Money(14, "CHF"); Money expected= new Money(26, "CHF"); Money result= m12CHF.add(m14CHF); assertTrue(expected.equals(result)); }; - テスト対象クラスの定義と,単体テストの実行
- テスト対象のクラス Money におけるメソッドの「ひな型」を生成
- 上記で編集したMoneyTest.java を保存した時点でコンパイルされる. このとき,コンパイルエラーが出るが構わない.
- まず,エディタ(MoneyTest.java のエディタ)の「Money m12CHF= new Money(12, "CHF");」の左端にあるマーカ(黄色と赤)を 左クリックして,「Create constructor ...」を選び,ダブルクリック.これで,Money クラスのコンストラクタ(中身は空)が生成される.
- 今度は,エディタ(MoneyTest.java のエディタ)の「Money result= m12CHF.add(m14CHF);」の左端にあるマーカ(黄色と赤)を 左クリックして,「Create method ...」を選び,ダブルクリック.これで,Money クラスの add() メソッド(中身は空)が生成される.
- 単体テスト実行の試み
テスト対象のクラス Money について, 単体テスト機能を試して見ます.
- Eclipse のパッケージエクスプローラで,MoneyTest.java を右クリック
- 「Run As (実行)」→「JUnit Test」を選ぶ.
- JUtil の画面が開き,テスト結果が表示される. コンストラクタとメソッドを,まだ定義していないので,「エラー」が出ます(これで,単体テスト機能が動いたことが確認できる).
- テスト対象クラスの定義
パッケージ・エクスプローラを表示させ, Money.javaをダブルクリックし,Money クラスを次のように定義
package hoge.hoge.com; public class Money { int amount; String base; public Money(int i, String string) { amount = i; base = string; } public boolean equals(Money m) { if( ( amount == m.amount ) && ( base.equals( m. base ) ) ) { return true; } return false; } public Money add(Money x) { if ( base.equals( x. base ) ) { Money added = new Money( amount + x.amount, base ); return added; } return null; } } - 再度単体テスト実行を行ってみる.
Eclipse のパッケージエクスプローラで,MoneyTest.java を右クリック. 「Run As (実行)」→「JUnit Test」を選ぶ. デバッグ機能を使いたいときは,「Debug As (実行)」→「JUnit Test」を選ぶ.
青色のバーが表示され,単体テストに成功したか,確認すること.
例題:StringUtil クラスの単体テスト
- クラス StringUtil の作成
- パッケージ・エクスプローラ内にプロジェクト一覧が表示されている. プロジェクト名を選んで右クリック
- 「New (新規)」→「Class (クラス)」
- パッケージ名を「hoge.hoge.com」のように(ドメイン名)を付ける(2行めの「Package (パッケージ)」のところ)
- クラス名を付ける(4行目の「Name (クラス)」のところ).ここでは StringUtil と付ける.
- 「Finish (終了)」
- 単体テスト用クラス StringUtilTest の定義
- パッケージ・エクスプローラ内で,さっき作ったパッケージ名を選んで右クリック
- 「New (新規)」→「JUnit Test Case」
- JUnit Test Case のウインドウが開くので, クラス名を付ける.ここでは StringUtilTest と付ける.
- テスト用のメソッドを定義
StringUtilTest.java に,テスト用メソッド testSplit() を定義
- パッケージ・エクスプローラ内でStringUtilTest.javaをダブルクリックし,次のメソッドを作成.
public void testSplit() { /* 文字列の分割 * 入力の例: 文字列“a,b,c” * 出力の例: カンマで文字列を分割してString型の配列[“a”][“b”][“c”]を返す */ String str = "a,b,c"; String [] result = StringUtil.commasplit(str); assertNotNull(result); assertEquals(3, result.length); assertEquals(result[0], "a"); assertEquals(result[1], "b"); assertEquals(result[2], "c"); };
- テスト対象クラスの定義と,単体テストの実行
- テスト対象のクラス StringUtil におけるメソッド commasplit() の「ひな型」を生成
上記で編集したStringUtilTest.java を保存した時点でコンパイルされる. このとき,コンパイルエラーが出るが構わない.
エディタ(StringUtilTest.java のエディタ)の「String[] result = StringUtil.commasplit(str);」の左端にあるマーカ(黄色と赤)を 左クリックして,「Create method 'commasplit(String)'」を選び,ダブルクリック. これで, StringUtil クラスのメソッド commasplit() の「ひな型」が生成される.
- StringUtil クラスのメソッド commasplit() の定義
- パッケージ・エクスプローラ内でStringUtil.javaをダブルクリックし,StringUtil を次のように定義
package hoge.hoge.com; import java.util.StringTokenizer; public class StringUtil { public static String[] commasplit(String str) { /* 文字列の分割 * 入力の例: 文字列“a,b,c” * 出力の例: カンマで文字列を分割してString型の配列[“a”][“b”][“c”]を返す */ StringTokenizer st = new StringTokenizer(str, ","); int length = st.countTokens(); String [] result = new String[length]; for (int i = 0; i < length; i++) { result[i] = st.nextToken(); } return result; } } - 単体テスト実行を行ってみる.
Eclipse のパッケージエクスプローラで,StringUtilTest.java を右クリック. 「Run As (実行)」→「JUnit Test」を選ぶ. デバッグ機能を使いたいときは,「Debug As (実行)」→「JUnit Test」を選ぶ.
青色のバーが表示され,単体テストに成功したか,確認すること.
- テスト対象のクラス StringUtil におけるメソッド commasplit() の「ひな型」を生成
演習
Java Servlet サンプルプログラム
「Eclipse を使用しての Java サーブレット・プログラムの開発」の Web ページに記載の HelloWorld クラスについて,単体テストの実行を各自で試す.
JUnit 5 のページ: https://junit.org/junit5/