SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

特集記事

Eclipseでマウスを使わずに効率よくプログラムを作成する

Eclipseのショートカット/コード補完/テンプレート機能の活用


JUnitによるコードのテスト

 業務では、コードを書いたらそのコードに対するテストも行います。JUnitによるテストは、あるクラスのあるメソッドに対してブラックボックス的な観点でテストを行うことが一般的です。JUnitの詳しい説明に関しては参考文献を参照してください。

マウスを使わないJUnitテスト(前半)

 HelloWorldと共に一般的なプログラムである計算機クラス「Calc.java」の作成を通して、テストケースとテスト対象のコードを行き来する方法や、メソッドやクラスの自動生成の方法について説明します。もちろん、ここでもマウスの使用は極力避けます。また、計算機クラスは簡単に四則演算だけサポートすることとします。

事前準備

 テストケースはリリースされるプログラムコードには含めないことがほとんどです。そのため、テスト対象とテストケースは一般的にフォルダを分けます。新しくソースディレクトリを作るには、[新規作成]メニューから[ソース・フォルダー]を選択してください。フォルダ名は「test」としておきましょう。

空のテストケースを作る

 まずはテストケースから先に作りましょう。ここでも「作る」といったら[Alt]+[Shift]+Nです。[新規作成]メニューから[JUnitテストケース]を選択してください。テストケース名は「CalcTest」としておきましょう。

CalcTest.java
package hello;

import junit.framework.TestCase;

public class CalcTest extends TestCase {

}

 次に、Calcクラスの足し算メソッドが正しく動作するか検証するテストケースを書きましょう。「test」で始まる返却値無しのパブリックメソッドを作ればテストケースとして判断されます。ここで、public void testAdd()..と書いていくのは面倒です。そこで、より簡単にテストを定義できるtestテンプレートを使いましょう。「test」まで入力した後に[Ctrl]+[スペース]testテンプレートを実行することができます。

testテンプレート
testテンプレート

 すると、次のようなコードが生成されます。

testテンプレート
public void testname() throws Exception {

}

 後は「name」の部分を「Add」に修正すれば空のテストケースが完成します。テンプレートを実行すると、自動的に「name」の部分がハイライトされるため、カーソルの移動は必要ありません。

テスト名の変更
テスト名の変更
  • 新規作成ショートメニュー表示([Alt]+[Shift]+N
  • JUnitテストケースを選択
  • クラス名に「CalcTest」を入力
  • 「test」を入力
  • コード補完([Ctrl]+[スペース]
  • 「Add」を入力

テストケースからテスト対象を作る

 では、テストケースの中身を埋めていきましょう。いまだにテスト対象であるCalcクラスは存在しませんが、気にせず次のように入力してください。

テストケースの実装1
public void testAdd() throws Exception {
    new Calc();
}

 当然Calcが存在しないので、コンパイルエラーです。ここで、[Ctrl]+1を押すと、次のような修正候補が出現します。

クイック・フィックス
クイック・フィックス

 ここでは、一番上の[クラス'Calc'を作成します]を選んでください。

 すると、[新規Javaクラス作成]ダイアログが開き、必要な情報がすべて埋まった状態になっています。ソースフォルダを「src」に変更して、[終了]を押してください。すると、エディタでCalcクラスが開きます。

空のCalcクラス
package hello;

public class Calc {
}

 今興味があるのはCalcクラス本体ではなく、CalcクラスのテストケースクラスであるCalcTestクラスです。よって、アクティブなエディタをCalcTestクラスに戻しましょう。ここでもマウスは不要です。[Alt]+←を押してください。アクティブなエディタがCalcTestに切り替わります。

  • new Calc();を入力
  • クイックフィックスでクラス生成([Ctrl]+1
  • [Alt]+←で「CalcTest.java」に移動
クイック・フィックス([Ctrl]+1)
 「何かを作ろう」と思ったら[Alt]+[Shift]+Nを押すのと同様に、「何かを修正しよう」と思ったら[Ctrl]+1です。クイック・フィックスでは、選択されているコードに応じて、実行可能な修正候補を表示してくれます。何かエラーや警告が起きた場合は迷わず[Ctrl]+1を押す習慣を身につけましょう。
進む/戻る([Alt]+→、[Alt]+←)
 Eclipseの選択に関する操作(アクティブなエディタを変更したなど)はEclipseに記憶されます。Javaエディタを開いた状態で「進む」や「戻る」を実行すると、選択を進めたり戻したりすることができます。
 また、今回の例の場合は、最後の編集位置へ移動([Ctrl]+Q)でも「CalcTest.java」に戻ることができます。

次のページ
マウスを使わないJUnitテスト(後半)

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

特集記事連載記事一覧

もっと読む

この記事の著者

NTTデータ先端技術株式会社 志田 隆弘(シダ タカヒロ)

<NTTデータ先端技術株式会社について>データベース、ネットワーク、OS、ミドルウェアの基盤技術を武器にシステムの技術面でのコンサルテーションや最新製品の調査を行う専門家集団。<筆者について>Ja-Jakartaプロジェクトの末席にこっそりと参加しています。たまにJavaなイベントに出没します。

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/366 2006/07/12 17:38

イベント

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

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

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

メールバックナンバー