まずは、JUnitを使うための環境作りについて見ていきます。
JUnitを利用するためには、IDEを利用する方法やビルドツールを利用する方法などがあります。
今回は、最も簡単な利用方法だと思われるEclipseを使った方法を試してみます。
使用している環境はPleiades All in One 3.7.2(Eclipse3.7.2をベースに日本語化したもの)です。
・JUnitの導入
Eclipseには最初からJUnitが含まれているため、インストールの必要はありません。
また、JUnitのテストクラスを実行して結果を確認するためのプラグインも含まれていて、至れり尽くせりです。
そのため、ビルドパスはJUnitのライブラリを追加して、テストクラスを作成すればすぐに実行して結果を確認することができます。
ということで、まずはプロジェクトにJUnitのライブラリを追加します。
(プロジェクトはすでにあるものとします。)
パッケージ・エクスプローラーのプロジェクトを右クリックして、「ビルド・パス→ライブラリの追加」を選択すると、以下のようなライブラリ選択画面になります。
そこで、JUnitを選択して次に進みます。
JUnitライブラリの追加(1) |
ここではJUnit4を選択しています。
今回の環境ではJUnitのソースは含まれていないので、ソース・ロケーションが「見つかりません」となっているようです。
これで完了を押せばOKです。
JUnitライブラリの追加(2) バージョンの選択 |
・テストの実行
JUnitライブラリの準備ができたので、次にテストクラスを作って実行してみます。
テストクラスの作成も、IDEによるサポートがあるため、簡単に作ることができます。
ここではテスト対象のクラスとして、以下のCalcクラスがプロジェクトに含まれているとします。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package net.siguremon.sample.junit; | |
public class Calc { | |
public int sum(int x, int y) { | |
return x + y; | |
} | |
} |
パッケージ・エクスプローラー上のCalcクラスを右クリックして、「新規→JUnitテスト・ケース」と選択すると、以下のテスト・ケース作成画面になります。
この時点で、一通りのデフォルト値が入力された状態になっています。
名前はテスト対象のクラスに”Test”と付けたものになり、テスト元クラスが先程のCalcクラスになっています。
クラスを選択せずに新規作成すると、名前やテスト元クラスのデフォルト値は空になります。
また、メソッドのスタブを作成するかどうかもここで選ぶことができます。
以下の画面では、setUpメソッドとtearDownメソッドを選択しています。
JUnitテスト・ケース(テストクラス)の追加 |
次に進むと、テストの対象とするメソッドを選択する画面になります。
テスト対象クラスのメソッド一覧が表示されているので、どれをテストするかを選択します。
以下の画面では、Calcクラスのsumメソッドのみを選択しています。
これで完了を押すと、テストクラスがプロジェクトに追加されます。
では、次にテストケースの中身を以下のように書き換えてみます。
詳細は省略しますが、Calcクラスのsumメソッドを使って、「sum(1,2)」が正しく「3」になるかどうかを確認するように書き換えています。
JUnitテスト・ケースでの対象メソッド選択 |
追加されたテストクラスは以下のようなものになっているはずです。(画像右側のCalcTest.java)
setUp、tearDown、testSumの3つのメソッドがあります。
テストメソッドは、対象のメソッド名の前に”test”と付けた名前になります。
中身はまだ実装されていないので、必ず失敗するコードが書かれています。
このテストクラスを実行するためには、メニューから「実行→実行」を選択します。
もしくは「Ctrl+F11」でも実行できます。
実行すると、左側にJUnitの実行結果が現れます。
今回は1つのテストケース(メソッド)を実行し、そのテストが失敗していることを示しています。
失敗すると、バーが赤く表示されます。
テスト・ケースの実行(失敗) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package net.siguremon.sample.junit; | |
import static org.junit.Assert.*; | |
import org.junit.After; | |
import org.junit.Before; | |
import org.junit.Test; | |
public class CalcTest { | |
@Before | |
public void setUp() throws Exception { | |
} | |
@After | |
public void tearDown() throws Exception { | |
} | |
@Test | |
public void testSum() { | |
assertEquals(3, new Calc().sum(1, 2)); | |
} | |
} |
詳細は省略しますが、Calcクラスのsumメソッドを使って、「sum(1,2)」が正しく「3」になるかどうかを確認するように書き換えています。
これをもう一度実行すると、今度はバーの部分が緑色に変わります。
これで、「sum(1,2)=1+2=3」が確認できたことになります。
0 件のコメント:
コメントを投稿