JUnitDocはEclipseプラグインとして開発されています。 JUnitDocは、JUnitのテストコードにアノテーションなどでテスト仕様の情報を挿入し、それをもとにテストケース表を表示するビューを提供します。
JUnitでテストを実施していても、テスト仕様書はExcelで相変わらず作成し、テストコードとExcelを二重管理することになっている現場が多いのではないでしょうか。
JUnitDocではテスト仕様をテストコードに埋め込むことで、二重管理の負荷を減らそうとしています。
以下の更新サイトからインストールが可能です。
また、以下よりプラグインファイルをダウンロードすることもできます。
例として、WikiPediaに記述されている以下のデシジョンテーブルで説明します。
テストケース | 1 | 2 | 3 | 4 | |
入力 | 平日である | ○ | ○ | × | × |
午前10時から午後8時 | ○ | × | ○ | × | |
出力 | 通常料金 | ○ | |||
割増料金 | ○ | ○ | ○ |
package sample; import org.junit.Test; public class Sample2Test { @Documented private @interface calculate { public @interface Conditions { @interface 平日である { } @interface 午前10時から午後8時 { } } public @interface Actions { @interface 通常料金 { } @interface 割増料金 { } } } }
@calculate @calculate.Conditions.平日である @calculate.Conditions.午前10時から午後8時 @calculate.Actions.通常料金 @Test public void test1() { } @calculate @calculate.Conditions.平日である @calculate.Actions.割増料金 @Test public void test2() { } @calculate @calculate.Conditions.午前10時から午後8時 @calculate.Actions.割増料金 @Test public void test3() { } @calculate @calculate.Actions.割増料金 @Test public void test4() { }
上記では手作業でデシジョンテーブルの定義を行っていましたが、GUIでもいくつかの操作が可能です。
上記は、デシジョンテーブルビューのツールバーから実行できます。
JavaEditorのアウトラインビューから、メソッドをデシジョンテーブルビューにドラッグ&ドロップすることで、デシジョンテーブル内にメソッドの追加が可能です。
デシジョンテーブルのチェック欄(Yと出力されているエリア)をマウスでダブルクリックすることで、チェックの有無を切り替えることが可能です。Yとした場合は、自動的にテストメソッドに対応するアノテーションが付与されます。
デシジョンテーブルのカラム、またはチェック欄をクリックすると、対応するテストメソッドにジャンプします。
デシジョンテーブルの条件、またはアクションをクリックすると、対応するアノテーションの宣言箇所にジャンプします。
テストメソッドのJavaDocに以下のようにテストケース情報を定義します。
/** * @tltestsuite テストスイート名 * @tltestcase テストケース名 * @tlsummary テストの概要 * @tlsteps テスト手順 * @tlexpectedresults 期待される結果 * @tlkeyword キーワード * @tlnotes キーワードの説明 */ @Test public void test1() { } /** * @tltestsuite テストスイート名 * @tltestcase テストケース名2 * @tlsummary テストの概要2 * @tlsteps テスト手順2 * @tlexpectedresults 期待される結果2 * @tlkeyword キーワード2 * @tlnotes キーワードの説明2 */ @Test public void test2() { } /** * @tltestsuite テストスイート名2 * @tltestcase テストケース名 * @tlsummary テストの概要 * @tlsteps テスト手順 * @tlexpectedresults 期待される結果 * @tlkeyword キーワード * @tlnotes キーワードの説明 */ @Test public void test3() { }
Eclipseの設定画面から、以下の設定が可能です。
デシジョンテーブルのHTML出力のテンプレートをカスタマイズすることができます。テンプレートの書式はVelocityとなっています。
以下の外観が設定可能です。