SHOEISHA iD

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

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

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

特集記事

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

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


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

テストの中身を埋める

 ここで、Calcクラスをインスタンス化しましたが、それを受け取る変数がありません。ここでまた、[Ctrl]+1です。テスト対象は普通テストケースクラスのフィールドとして定義します。よって、ここでは[ステートメントを新規フィールドに割り当てる]を選びましょう。

フィールドの自動生成と設定
フィールドの自動生成と設定
テストケースの実装(2)
package hello;

import junit.framework.TestCase;

public class CalcTest extends TestCase {
    private Calc calc;

    public void testAdd() throws Exception {
        calc = new Calc();
    }
}

 後は、メソッドが正しく動いていることを確認するためのアサート文を追加しましょう。

テストケースの実装(3)
public void testAdd() throws Exception {
    calc = new Calc();
    assertEquals("3足す2は5になるはず", 5, calc.add(3,2));
}

 ここでも、add(int,int)というメソッドがないため、コンパイルエラーになります。クイックフィックスでメソッドも自動生成してください。自動生成されたメソッドはメソッド名、モディファイア、返却値、引数がそれぞれハイライトされている状態になっており、それぞれのハイライトは[Tab]で移動できます。引数と返却値とをそれぞれint型を受け取るように修正しましょう。また、簡単なメソッドなので実装も済ませてしまいましょう。

追加されたメソッド(Calc.java)
package hello;

public class Calc {

    public int add(int i, int j) {
        // TODO 自動生成されたメソッド・スタブ
        return i + j;
    }

}

 さて、ここでまた「CalcTest.java」にフォーカスを移すこととします。ここでは[Alt]+←を押してもうまく「CalcTest.java」に移動しないことと思います。これは、メソッドを作るときにハイライトを[Tab]で移動したため、余計な選択情報が記憶されてしまったためです。こんなときは、[Ctrl]+[F6]でエディタを選択して移動しましょう。

  • フィールドの作成と割り当て([Ctrl]+1
  • assertEqualsの入力
  • メソッドの作成([Ctrl]+1
  • メソッドの編集
  • 「CalcTest.java」へ移動([Ctrl]+[F6]
次のエディター/ビュー/パースペクティブ([Ctrl]+[F6]、[Ctrl]+[F7]、[Ctrl]+[F8])
 エディタやビュー、パースペクティブの移動には、[Ctrl]+[F6][Ctrl]+[F7][Ctrl]+[F8]が使えます。パースペクティブを移動をする機会はあまりないかもしれません。また、[Shift]を同時に押すことで前のエディタが開きます。これは[Tab][Shift]+[Tab]による移動と同じ操作感覚になります。

テストを実行する

 とりあえずひとつだけですが、テストケースの実装が終わりました。早速テストを動かしてみましょう。HelloWorldを実行したように、「何かを実行する」場合は[Alt]+[Shift]+Xです。ここでは、JUnitテストとして動かすため、Tを押してください。アクティブなエディタがJUnitテストとして実行されます。

Junitテストの実行
Junitテストの実行

次のページ
自作テンプレートを利用する

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

特集記事連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

イベント

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

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

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

メールバックナンバー