手順 2 : テスト クラスを作成する

この手順では、作成したコントロールでテストを実行するテスト クラスを作成します。テストは、独立したソース フォルダに配置して構成でき、プロダクション用にパッケージ化した後は簡単に除外できます。さらに、プロジェクトの依存関係が正しくコンフィグレーションされていれば、完全に独立したプロジェクトにテストを配置することができます。しかし、この簡単な例では、コントロールとテスト クラスを同じプロジェクトに配置します。

この節では、以下を実行します。

新しいソース フォルダとパッケージを作成するには

テスト クラスを格納する新しいソース フォルダとパッケージを作成します。

  1. [プロジェクト・エクスプローラー] ビューで、[MySharedControls] を右クリックして [新規|その他] を選択します。
  2. [新規] ダイアログで [Java] ノードを開き、[ソース・フォルダー] を選択して [次へ] をクリックします。
  3. [フォルダー名] フィールドに src-test と入力して、[終了] をクリックします。
  4. [プロジェクト・エクスプローラー] ビューで、[src-test] フォルダを右クリックして [新規|パッケージ] を選択します。
  5. [新規 Java パッケージ] ダイアログの [名前] フィールドに sharedcontrols.test と入力して [終了] をクリックします。

テスト クラスを作成するには

この手順では、コントロールをテストするクラスを作成します。

  1. [プロジェクト・エクスプローラー] ビューで、[sharedcontrol.test] パッケージを右クリックして [新規|その他] を選択します。
  2. [新規] ダイアログでノード [JavaJUnit] を開き、[JUnit テスト・ケース] を選択して [次へ] をクリックします。
  3. [新規 JUnit テスト・ケース] ダイアログで、[ここをクリック] リンクをクリックします。

    img

  4. [プロパティー: MySharedControls] ダイアログで [OK] をクリックします。

    img

  5. [新規 JUnit テスト・ケース] ダイアログの [名前] フィールドに、EmployeeControlTestCase と入力します。
    [スーパークラス] フィールドに、org.apache.beehive.controls.test.junit.ControlTestCase と入力します。
    (ヒント : [スーパークラス] フィールドに ControlTestCase と入力し、〔Ctrl〕+〔Space〕を押して残りのパッケージ名を入力します。)
    [テスト中のクラス] フィールドに、sharedcontrols.EmployeeControl と入力します。
    [次へ] をクリックします。

  6. [すべて選択] ボタンをクリックして、[終了] をクリックします。

    img

  7. EmployeeControlTestCase.java のソース コードを次のように編集します。 追加するコードを赤色で示します。コード行 fail("Not yet implemented"); は必ず削除します。
    package sharedcontrols.test;
     
    import org.apache.beehive.controls.api.bean.Control;
    import org.apache.beehive.controls.test.junit.ControlTestCase;
     
    public class EmployeeControlTestCase extends ControlTestCase {
     
        @Control
        sharedcontrols.EmployeeControl employeeControl;  
      	 
        /*
         * 'sharedcontrols.EmployeeControl.getManagerNames()' のテスト メソッド
         */
        public void testGetManagerNames() {
            String[] mgrs = employeeControl.getManagerNames();
            assertNotNull("Didn't find managers!", mgrs);
            assertTrue("Found wrong number of managers!", 
                        mgrs.length == 3); 
        }
    }
    

    ここでは、コントロールが @Control フィールド表記だけで使用でき、プログラムからインスタンス化する必要はありませんでした。これが ControlTestCase の優れた点です。このクラスを拡張することによって、宣言的な配線を行う setUp() や tearDown() のメソッドを継承します。

  8. 〔Ctrl〕+〔Shift〕+〔S〕を押して作業を保存します。

関連トピック

コントロールのテスト

チュートリアルを移動するには、矢印をクリックしてください。


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。