dbunitng (0.6) | 2008-10-02 16:31 |
期待値のファイルとデータベースのテーブルをアサートするアノテーションを作りました。 @TableAssertです。
こんな感じ。
必須属性はnamesとpathnameです。 この2つだけなら、namesにデータベースのテーブル名を記述します。
つまり、今回はdeptテーブルと期待値ファイルをアサートします。
アサートは、期待値のファイルにあるカラムだけ比較します。
pathnameには期待値のファイルを記述します。この場合、「insert_expected.xml」が期待値のファイルです。
ファイル名だけであれば、テストクラスと同パッケージに配置します。 内容はDbUnitの形式です。
SQL文を直接記述することもできます。
queries属性にはSQL文を記述します。その結果がDbUnitのITableとなります。 ITableのテーブル名はnames属性に記述した名前になります。
つまり、この例ではSQL文の結果がITableとなり、テーブル名はdeptとなります。
XMLで表現すると以下のイメージです。
結果をDBから取得するクエリをプロパティファイルに記述できるようにしました。
クエリを直接Javaコードに記述すると読みづらいので。
@TableAssertのpropertyFilePath属性がプロパティファイルへのパスです。
「/」がない場合、テストクラスと同じパッケージにあるファイルを探します。
「/」があればクラスパスのルートからの位置になります。
keysに指定したキーの値としてクエリを書きます。
namesはクエリの結果を格納するDbUnitのITableのテーブル名です。