感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

JUnitの超入門。開発環境のセットアップ方法と一番簡単なAssertThatのサンプル。

<スポンサーリンク>

ユニットテストについて

ユニットテストって何?
ユニットテストはクラスやメソッドがプログラマの期待したとおりの振る舞いをするかどうかを検証する。
ユニットテストを実践する理由は、自分が書いたコードに責任を持ち、不安なくソフトウェア開発を行うためである。

JUnit
JUnitはKent BeckやErich Gammaによって開発されたJavaのテスティングフレームワークのこと。

JUnitは以下のサイトからダウンロードできる。
http://sourceforge.jp/projects/sfnet_junit/releases/

環境を構築する

EclipseJDKのインストールは済んでいるものとする。

■Quick JUnitプラグインをインストールする方法
Quick JUnitJUnitの起動を簡単にして、テストコードとプロダクションコードを切り替えることができるEclipseのプラグインである。
Quick JUnitプラグインをインストールすれば、テストクラスとテスト対象クラスの切り替えがショートカットでできるようになって、テスト駆動開発のリズムがよくなる。

Quick JUnitをインストールする方法は
「ヘルプ」→「Eclipseマーケットプレース」で、検索バーに「Quick JUnit」と入力して検索する。
Quick JUnitが見つかったら「インストール」を押して、使用条項に同意すればいい。

Eclipseのビルドパスの設定
とりあえず、unittest-sampleみたいなプロジェクトを作成する。
で、そのプロジェクトを右クリックしてlibフォルダを作ろう。

そのlibフォルダに上のサイトからダウンロードしたjuni.jarをコピーする。
で、Eclipse上で、コピーしたjarを右クリックする。
「ビルドパス」→「ビルドパスに追加」をクリック。

これでJUnitを使う準備はできた。

サンプル

プロジェクトを右クリック→「新規」→「フォルダ」でtestフォルダを作成する。
次に、作ったtestフォルダを右クリック→「ビルドパス」→「ソースフォルダとして使用」をクリック。
これで、新しいテスト用のフォルダを追加できる。

さて、まずはテスト"される"クラスを作る。
単純に足し算するだけのクラスだ。

package junitsample;

public class UtilitySample {
	public int add(int x, int y) {
		return x + y;
	}
}

次に、この足し算するメソッドをテストするクラスを、この見出しの冒頭のtestフォルダに作る。
クラスの名前は(テスト対象のクラス名)Testとする。

package junitsample;

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

import org.junit.Test;

public class UtilitySampleTest {
	@Test
	public void 足し算して10になることのテスト() {
		UtilitySample sample = new UtilitySample();
		int expected = 10;
		int actual = sample.add(8, 2);
		assertThat(actual, is(expected));

	}
	@Test
	public void 足して10にならないことのテスト() {
		UtilitySample sample = new UtilitySample();
		int extected = 10;
		int actual = sample.add(5,3);
		assertThat(actual, is(not(extected)));
	}
}

このテストクラスを右クリック→「実行」→「JUnitテストの実行」をクリックすると、JUnitが走りだす。
緑色になったら成功だ。

読んだ本

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnitの勉強するならまずこの本、というくらいのバイブルだと思う。
もうこれだけあればいいんじゃないか?ってくらいの完成度・・・と思われるんだけど、もっと読み進めて、色んな本と比較してみようと思う。

感謝のプログラミング

今回で感謝のプログラミングは【683時間目】
10000時間まで、あと【9317時間】