この手順では、作成したコントロールでテストを実行するテスト クラスを作成します。テストは、独立したソース フォルダに配置して構成でき、プロダクション用にパッケージ化した後は簡単に除外できます。さらに、プロジェクトの依存関係が正しくコンフィグレーションされていれば、完全に独立したプロジェクトにテストを配置することができます。しかし、この簡単な例では、コントロールとテスト クラスを同じプロジェクトに配置します。
この節では、以下を実行します。
新しいソース フォルダとパッケージを作成するには
テスト クラスを格納する新しいソース フォルダとパッケージを作成します。
- [プロジェクト・エクスプローラー] ビューで、[MySharedControls] を右クリックして [新規|その他] を選択します。
- [新規] ダイアログで [Java] ノードを開き、[ソース・フォルダー] を選択して [次へ] をクリックします。
- [フォルダー名] フィールドに src-test と入力して、[終了] をクリックします。
- [プロジェクト・エクスプローラー] ビューで、[src-test] フォルダを右クリックして [新規|パッケージ] を選択します。
- [新規 Java パッケージ] ダイアログの [名前] フィールドに sharedcontrols.test と入力して [終了] をクリックします。
テスト クラスを作成するには
この手順では、コントロールをテストするクラスを作成します。
- [プロジェクト・エクスプローラー] ビューで、[sharedcontrol.test] パッケージを右クリックして [新規|その他] を選択します。
- [新規] ダイアログでノード [Java|JUnit] を開き、[JUnit テスト・ケース] を選択して [次へ] をクリックします。
- [新規 JUnit テスト・ケース] ダイアログで、[ここをクリック] リンクをクリックします。
![img](images/1.5.png)
- [プロパティー: MySharedControls] ダイアログで [OK] をクリックします。
![img](images/1.6.png)
- [新規 JUnit テスト・ケース] ダイアログの [名前] フィールドに、EmployeeControlTestCase と入力します。
[スーパークラス] フィールドに、org.apache.beehive.controls.test.junit.ControlTestCase と入力します。
(ヒント : [スーパークラス] フィールドに ControlTestCase と入力し、〔Ctrl〕+〔Space〕を押して残りのパッケージ名を入力します。)
[テスト中のクラス] フィールドに、sharedcontrols.EmployeeControl と入力します。
[次へ] をクリックします。
![](images/2.png)
- [すべて選択] ボタンをクリックして、[終了] をクリックします。
![img](images/2.5.png)
- 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() のメソッドを継承します。
- 〔Ctrl〕+〔Shift〕+〔S〕を押して作業を保存します。
関連トピック