JUnitによるコードのテスト
業務では、コードを書いたらそのコードに対するテストも行います。JUnitによるテストは、あるクラスのあるメソッドに対してブラックボックス的な観点でテストを行うことが一般的です。JUnitの詳しい説明に関しては参考文献を参照してください。
マウスを使わないJUnitテスト(前半)
HelloWorldと共に一般的なプログラムである計算機クラス「Calc.java」の作成を通して、テストケースとテスト対象のコードを行き来する方法や、メソッドやクラスの自動生成の方法について説明します。もちろん、ここでもマウスの使用は極力避けます。また、計算機クラスは簡単に四則演算だけサポートすることとします。
事前準備
テストケースはリリースされるプログラムコードには含めないことがほとんどです。そのため、テスト対象とテストケースは一般的にフォルダを分けます。新しくソースディレクトリを作るには、[新規作成]メニューから[ソース・フォルダー]を選択してください。フォルダ名は「test」としておきましょう。
空のテストケースを作る
まずはテストケースから先に作りましょう。ここでも「作る」といったら[Alt]+[Shift]+Nです。[新規作成]メニューから[JUnitテストケース]を選択してください。テストケース名は「CalcTest」としておきましょう。
package hello; import junit.framework.TestCase; public class CalcTest extends TestCase { }
次に、Calcクラスの足し算メソッドが正しく動作するか検証するテストケースを書きましょう。「test」で始まる返却値無しのパブリックメソッドを作ればテストケースとして判断されます。ここで、public void testAdd()..と書いていくのは面倒です。そこで、より簡単にテストを定義できるtestテンプレートを使いましょう。「test」まで入力した後に[Ctrl]+[スペース]でtestテンプレートを実行することができます。
すると、次のようなコードが生成されます。
public void testname() throws Exception { }
後は「name」の部分を「Add」に修正すれば空のテストケースが完成します。テンプレートを実行すると、自動的に「name」の部分がハイライトされるため、カーソルの移動は必要ありません。

- 新規作成ショートメニュー表示([Alt]+[Shift]+N)
- JUnitテストケースを選択
- クラス名に「CalcTest」を入力
- 「test」を入力
- コード補完([Ctrl]+[スペース])
- 「Add」を入力
テストケースからテスト対象を作る
では、テストケースの中身を埋めていきましょう。いまだにテスト対象であるCalcクラスは存在しませんが、気にせず次のように入力してください。
public void testAdd() throws Exception { new Calc(); }
当然Calcが存在しないので、コンパイルエラーです。ここで、[Ctrl]+1を押すと、次のような修正候補が出現します。
ここでは、一番上の[クラス'Calc'を作成します]を選んでください。
すると、[新規Javaクラス作成]ダイアログが開き、必要な情報がすべて埋まった状態になっています。ソースフォルダを「src」に変更して、[終了]を押してください。すると、エディタでCalcクラスが開きます。
package hello; public class Calc { }
今興味があるのはCalcクラス本体ではなく、CalcクラスのテストケースクラスであるCalcTestクラスです。よって、アクティブなエディタをCalcTestクラスに戻しましょう。ここでもマウスは不要です。[Alt]+←を押してください。アクティブなエディタがCalcTestに切り替わります。
new Calc();を入力- クイックフィックスでクラス生成([Ctrl]+1)
- [Alt]+←で「CalcTest.java」に移動
また、今回の例の場合は、最後の編集位置へ移動([Ctrl]+Q)でも「CalcTest.java」に戻ることができます。


