デバッガ

JDTではデバッガが最も新機能が目立つ部分かもしれない。

これまでもバーチカルルーラをダブルクリックすることで行ブレークポイントを設定することができたが、3.3ではクラス定義やメソッド定義、フィールド定義の行をダブルクリックすることでクラスロードブレークポイントやメソッドブレークポイント、フィールドに対するウォッチポイントなどを設定できるようになった。

図 30: ブレークポイント

ステップ実行中にソースコード上でメソッド呼び出し部を[CTRL]+[ALT]+マウスクリックすることで、そのメソッド内にステップインすることができるほか、ステップフィルタリング機能によって特定のクラスやパッケージをステップインの対象外とすることができる。もしここで指定したクラスにステップインしてもスキップされ、呼び出し元のコードに制御が戻るところまで実行される。

図 31: ステップフィルタリングの設定

Java 6のVM利用時に限定されるが、メソッドから強制的に指定した戻り値を返すことも可能だ。メソッド内で中断中にDisplayビューで任意の値を返す式を記述し、式を選択して右クリックから「Force Return」([ALT]+[SHIFT]+[F])を選択すると、その式の結果がメソッドの戻り値となる。

図 32: メソッドから強制的に戻り値を返却

同じくJava 6利用時限定の機能だが、Variablesビューで変数を選択し、右クリック→「All References...」で以下のようにその変数への参照を表示できるようになっている。

図 33: 変数の参照元を表示

JUnit

JUnitのテスト結果をXML形式でインポート、エクスポートすることができるようになった。テスト結果をエクスポートしてテストレポートとして利用することができる。

図 34: テスト結果のエクスポート

JUnitのテストでassertEquals()などが失敗した際、スタックトレース部をダブルクリックすると期待値と実際の値との差分を表示するダイアログを表示することができたが、Eclipse 3.3ではこのダイアログがモードレスになっており、比較結果を参照しながらJavaエディタでソースコードを編集するといったことが可能だ。

また、JavaエディタのテンプレートにJUnit4用のテストメソッドのテンプレートが追加された。以下のようにTestと入力してコード補完を行うとJUnit 4用のテストメソッドを作成できる。もちろんこれまで同様、小文字でtestと入力してコード補完を行うとJUnit 3用のテストメソッドを作成することも可能だ。

図 35: JUnit 4のテストメソッドを作成