EclipseではじめるJUnit、QuickJUnitプラグインのインストールなど

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 163 follow us in feedly

まえがき

Java言語のユニットテストのテスティングフレームワークである『JUnit』のダウンロードだったり、『QuickJUnit』というJUnitを便利に使うためのEclipseプラグインをインストールしたりしてみようと思う。

またなんでいきなりJavaなのかというと、ユニットテストを勉強するのにJUnitが一番適している気がしたから。理由はそれだけ。

開発環境

  • Java7
  • Eclipse 4.2.2
  • JUnit 4.11
  • Hamcrest 1.3

こんな感じの環境JUnitに関しては今の最新のバージョンを使っている。Version3系と4系ではかなり違いがあるので注意!

QuickJUnitのインストール

QuickJUnitはJUnitのテストクラスを簡単に生成したり、テストの実行をショートカットでできるようになったりするプラグイン。これからJUnitを始めるなら色々捗ります。

『http://quick-junit.sourceforge.jp/updates/current/』のアドレスをNew Software Installのところで入力してインストールできる。

JUnit・Hamcrestのダウンロード

Junitを始めるにはJunitのjarファイルとHamcrest-coreのjarファイルが必要になる。以下のサイトから両方のダウンロード先にいってダウンロードしてくる

https://github.com/junit-team/junit/wiki/Download-and-Install

https://github.com/junit-team/junit/wiki/Download-and-Install

今回は最新版の『JUnit 4.11』および『hamcrest-core 1.3』をダウンロードしてきた。

余談だけど、Junit4系ではアノテーションを用いた書き方で、JUnit3系では命名規則重視な書き方らしい。

作業用プロジェクトを作成する

さてやっとEclipseでJUnitのプロジェクトを作る。プロジェクトの構成は以下の画像のように作成した。

junit-tutorial-1

  • junit-4.xx.jarおよび、hamcrest-core-xx.jar をプロジェクトに追加後、ビルドパスに追加する
  • src フォルダ以下にテスト対象となるクラスファイル、パッケージを格納する
  • test フォルダにJUnitを用いたテストを実行するクラス、およびパッケージを作成する(パッケージ構成に関してはテスト対象のクラスと同じにする・クラス名に関してはテスト対象クラスの後ろにTestと付ける。)

これでとりあえず準備完了。

QuickJUnitの使い方

『QuickJUnit』のEclipseプラグインを入れていると、テスト対象クラスをエディタで開いて『control + 9』を押すことででテストクラスを作成する事ができる。

テストクラスが存在する場合は同じショートカットキーでテストクラスとテスト対象クラスを行き来することができてとても便利。

JUnitのバージョンを指定できたり、JUnit用の特殊なメソッドを自動で生成するかチェックをできたりと色々助かります

junit-tutorial-2

junit-tutorial-3

サンプルソース

ではちょっとしたJunitを動かすために作成したサンプルソースを

今回用意したのは足し算をするだけのクラス『Tashizan.java』で『plus1(int x, int y)』『plus2(int x, int y)』の引数の足し算した結果を返すメソッドを用意。

この2つのメソッドの結果がそれぞれ正しいかを検証する『TashizanTestクラス』を作成した

Tashizan.java

package junit.tutorial;

public class Tashizan {
	public static int plus1(int x, int y){
		return x + y;
	}
	public static int plus2(int x, int y){
		return x + x;
	}
}

plus2()メソッドでは1つ目の引数同士で足し算をしてしまっているため、期待する結果は得られないようにしている

TashizanTest.java

package junit.tutorial;

import static org.hamcrest.CoreMatchers.*;

import static org.junit.Assert.*;

import org.junit.Test;

public class TashizanTest {

	@Test
	public void testPlus1() {
		int x = 3;
		int y = 4;
		int expected = 7;

		int actual = Tashizan.plus1(x, y);
		assertThat(actual, is(expected));
	}

	@Test
	public void testPlus2() {
		int x = 4;
		int y = 5;
		int expected = 9;

		int actual = Tashizan.plus2(x, y);
		assertThat(actual, is(expected));
	}
}

実行してみる

さて、このTashizanTestのクラスを実行してみる、『QuickJUnit』プラグインをインストールしている場合は『control + 0』で実効することができる。QuickJUnitマジ便利。。ちなみにMacの場合は『control』『command』どっちでも効く。

QuickJUnitを使わない場合はいつもどおり緑の実行ボタンをクリックして、から実行する

実行すると『plus2()』メソッドは期待値と結果が異なるため、テストが失敗する。

junit-tutorial-4

あとがき

以上、簡単にだけどJunitに関してのメモでした。春までにユニットテストに関して学んでおきたいので勉強していこう。

Junitでユニットテストとはなんぞやを叩き込めたらRubyのRSpecとかにも手を出してみたい。

ちなみにJUnitに関しては以下で紹介しているであろう書籍で勉強している。とてもわかりやすくて満足してますぞ。

おすすめ書籍

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)
渡辺 修司
技術評論社
売り上げランキング: 18,890

関連記事

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

『Android開発』インテントにオブジェクトを渡す方法をメモ

まえがき Androidアプリで画面遷移の際にインテントを使って、数値...

記事を読む

eclipse-darkeclipse-dark.png

Eclipseを黒テーマでかっこ良くするまでの道

まえがき 漢ならEclipseを黒にしたいと思うはずです。 vim...

記事を読む

Screeny Shot 2013-06-24 18.03.14.png

【migrate】ActiveObjectsを使ったjavaでのDB接続【その2】

まえがき さて、前回に引き続きjava × activeobjects...

記事を読む

vrapper-eclipse-1vrapper-eclipse-1.png

EclipseでVimのキーバインドがつかえるVrapperで世界変わったわ

まえがき Eclipseのショートカットやらキーバインドってなかなか慣...

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

  • Sorry. No data so far.

PAGE TOP ↑