SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Eclipse 3.4からはじめるIDE入門

Eclipse 3.4を使ったデバッグとテスト~Eclipse 3.4 入門~

第5回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Eclipseのテスト支援機能 - JUnit(2)

アサートメソッドの記述

 自動作成されたテストケースのテスト用のメソッドに、アサートメソッドを記入してテストケースを完成します。アサートメソッドとは「こういう値を与えたら、こういう結果になるべきだ」というようにテスト基準を記述するものです。今回はsumArrayメソッドには「{1, 2, 3}を与えたら、6が返ってくる」を、countZeroメソッドは「{0, 0, 0}を与えたら、3が返ってくる」をアサートメソッドにします。具体的な記述例は次のようになります。

HelloFunc2Testクラス(HelloFunc2Test.java)
// HelloFunc2Testクラス(HelloFunc2Test.java)
package hellopac;
import junit.framework.TestCase;
public class HelloFunc2Test extends TestCase {
  public void testSumArray() {
    // fail("まだ実装されていません"); // 削除
    HelloFunc2 hf2 = new HelloFunc2(); // 追加
    //「{1,2,3}を与えたら、6が返ってくる」のが正しい
    assertEquals("1、2、3の和", 6, hf2.sumArray(new int[]{1, 2, 3})); // 追加
  }
  public void testCountZero() {
    // fail("まだ実装されていません"); // 削除
    HelloFunc2 hf2 = new HelloFunc2();
    //「{0,0,0}を与えたら、3が返ってくる」のが正しい
    assertEquals("0が3個ある", 3, hf2.countZero(new int[]{0, 0, 0})); // 追加
  }
}

 assertEquals(String, int, int)メソッドはjunit.framework.Assertクラスで定義されており、第2パラメータに期待される値を、第3パラメータに値を返すメソッドの呼び出しを記述します。これらが不一致の場合、第1パラメータに指定された文字列が障害トレースに出力されます。

テストケースの実行

 準備ができたテストケースを試行するために、パッケージエクスプローラーで、HelloFunc2Testクラスを右クリックし、[実行(R)]-[JUnitテスト]を実行します。

図26:[実行(R)]-[JUnitテスト]を実行
図26:[実行(R)]-[JUnitテスト]を実行

 JUnitビューが表示され、2つのテストが完了したことが示されます。2つめの「testCountZero」が失敗しているので、障害トレース欄を確認すると「0が3個ある expected:<3> but was:<2>」とあります。つまり、アサートメソッドで「3が返ってくるのが正しい」と指定されているのに「2」が戻されたことが分かります。

図27:JUnitビューに2つめの「testCountZero」が失敗した旨が表示される
図27:JUnitビューに2つめの「testCountZero」が失敗した旨が表示される

 以上のように、JUnitを用いることで各メソッドが仕様どおりの動作をするかどうかを効率的にテストできます。

まとめ

 今回の説明で「デバッグやテストを支援する機能」の初歩を理解できたと思います。実際にはたくさんの機能がありますが、必要な機能から順に理解を進めていけば、Eclipseを道具として使いこなすことができると思います。

 次回はEclipse 3.4でチーム開発を行う際などに必須となる「バージョン管理と連係する機能」を説明します。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Eclipse 3.4からはじめるIDE入門連載記事一覧

もっと読む

この記事の著者

平野正喜@ランドッグ・オーグ(ヒラノマサキ)

フリーのIT系執筆者&講使(※)の「ランドッグのマウ」こと平野正喜(HIRANO Masaki)です。【略歴】 1962年札幌市生まれ。今で言うIT企業のシステムエンジニア、プロジェクトリーダー、システムコンサルタント、採用担当などを経て独立し、2002年11月にランドッグ・オーグ平野正喜事務所(h...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3612 2009/02/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング