Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

Arquillian Persistence Extensionを触ってみる

昨日のエントリで、Arquillianを利用してDBUnitのようにdatasetのxmlを定義したり、Unitilsの@DataSetアノテーションでデータを読むみたいなことが簡単にできれば…なんて書いていたのですが、Arquillian Persistence Extensionというものがあって、まさにそのようなものみたいです(^^;すごいなぁ。

試してみた所、簡単なサンプルは無事に動きました。詳細な手順は別途まとめるとして、こんな感じのことができました、というメモ。

テスト用DBデータの準備

DB使ったテストするためにレコードデータをxmlファイルに定義します。
以下ではサンプルとしてIDと名前だけある名簿テーブルを定義してます。

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
    <mymeibo id = "0001" name = "horikita" />
    <mymeibo id = "0002" name = "makimaki" />
</dataset>

テストコード

以下みたいなのを書いただけです。
idが0002のEntity取得したらmakimakiが入ってる?、レコードは2行取れた?という確認だけ。

@Test
@UsingDataSet("dataset.xml")
public void tryDataSetTest(){
    MyMeibo myMeibo = meibo.find(0002);
    assertThat(myMeibo.getName(), is("makimaki"));
    assertThat(meibo.count(), is(2));
}

実行結果

f:id:kikutaro777:20130106233117j:plain

何か設定したわけでもないけど、終わった後にレコードも削除されてるし*1
面白そう、というか、リアルにこれを使ってみようかと思い始めたので暫く触っていきたいと思います。

*1:なので、元々データが入っているテーブルでテストする際は注意が必要です!!

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村