読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

NetBeans&Mavenで始めた「JUnit実践入門」のチュートリアル

NetBeans Maven JUnit

昨日書いた「NetBeans&Mavenでテスト結果ウィンドウの日本語が文字化けする件」は設定が足りていないことが原因でした。
Javaビギナーな私には解決するまで若干手こずったので、一応まとめてみます。多分知識ある方からすれば何を今更という内容かもしれませんが…。

以下書籍のチュートリアル(第1章)をNetBeansMavenで始めた場合、という流れでまとめます。

実行環境は以下です。基本的にはNetBeans7.2.1を入れただけ、です。

実行環境

プロジェクトを作成する

新規Javaプロジェクト(Maven)の作成

Mavenでプロジェクトを作成します。「ファイル」メニューから「新規プロジェクト」を選びます。
f:id:kikutaro777:20130103150904j:plain
カテゴリ「Maven」を選択して「Javaアプリケーション」を選択します。
f:id:kikutaro777:20130103150908j:plain
プロジェクト名は書籍のチュートリアルに合わせて入力しました。
f:id:kikutaro777:20130103154029j:plain

ライブラリの追加

Mavenを利用しているので、pom.xmlJUnitの依存性を記述します。
デフォルトで3.8.1の記述があるので
f:id:kikutaro777:20130103151419j:plain
4.11に変えました。
f:id:kikutaro777:20130103151435j:plain

テスト対象クラスを作成する

ソース・パッケージにJavaクラスを追加します。
ここでは書籍に合わせてクラス名にCalculator、パッケージにjunit.tutorialと記述しました。
f:id:kikutaro777:20130103151724j:plain

コードを記述します。とりあえず書籍にあるmultiplyだけ入れました。

package junit.tutorial;

public class Calculator {
    public int multiply(int x, int y){
        return x * y;
    }
}

テストクラスを作成する

テストクラスの作成

Mavenでプロジェクト作成をしたので、testフォルダは既にできています。
テスト・パッケージをみるとデフォルトで「AppTest.java」が出来ていますが、これはJUnit3.8.1で作られたサンプルなので、今回は削除します(4.11を使う前提とするため)。
f:id:kikutaro777:20130103151629j:plain
テスト・パッケージで右クリックして、「その他」を選びます。
カテゴリ「単体テスト」を選び、右ペインで「JUnitテスト」を選択します。
f:id:kikutaro777:20130103152742j:plain
クラス名「CalculatorTest」パッケージ名「junit.tutorial」を入力します。
下ペインはデフォルトでは全てチェックが入っていますが、書籍に合わせて一旦ここでは外しました(通常はつけたままのほうがいいと思います)。
f:id:kikutaro777:20130103153135j:plain

以下のコードが生成されました(コメント部は削除してます)。

package junit.tutorial;

import org.junit.Test;
import static org.junit.Assert.*;

public class CalculatorTest {
    
    public CalculatorTest() {
    }
}

書籍にあるリスト1.4のコードを記述しました。

package junit.tutorial;

import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;

public class CalculatorTest {
    @Test
    public void multiplyで乗算結果が取得できる(){
        Calculator calc = new Calculator();
        int expected = 12;
        int actual = calc.multiply(3, 4);
        assertThat(actual, is(expected));
    }
}

テストメソッドは日本語です!!(もともとこれがやりたかった)

テストを実行する

最小限のコードはそろったので早速テストします。
プロジェクトを右クリックして「テスト」を選ぶと、プロジェクト全体に対してテスト実行します。
f:id:kikutaro777:20130103153151j:plain

テスト実行が完了すると、テスト結果ファイルできたよー、ってNetBeansが通知してくれます。
(うまく表示されないこともあるっぽいですが…)
f:id:kikutaro777:20130103153220j:plain

で、確認すると、文字化け orz これが昨日つまっていた状態です。
f:id:kikutaro777:20130103153247j:plain

解決するには、pom.xmlに以下を追加します。
今までの手順だとpom.xml内にmaven-surefire-plugin、maven-surefire-report-pluginの記述はないのですが、明示的に記述します。
f:id:kikutaro777:20130103153349j:plain

色々試してみたのですが、maven-surefire-pluginとmaven-surefire-report-pluginのバージョンが違っていたり、どちらかだけ記述している状態だと上記文字化け(というかUnicode表示)が起きるようです。とりあえず両方とも現時点での最新(2.12.4)では日本語表示されました。

再度テストを実行します。どりゃー。
f:id:kikutaro777:20130103153507j:plain
日本語でたー!やったー!

文字化けしたときは焦りましたが、簡単な設定で解消して良かったです(^^;

というわけで、NetBeansMavenで日本語メソッド名を堪能できるようになったので書籍を読み進めよう~。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村