dbunitng (0.6) | 2008-10-02 16:31 |
この場合、Deptクラスのリストをデータセットに変換してる。 ちなみにDeptクラスはただのBean。
こうやってBeanのListをDataSetに変換してしまえば、 DbUnitのAssertion#assertEquals(IDataSet, IDataSet)でアサートできます!
ネストしたBeanをDbUnitのデータセットに変換できるように対応しました。 ネストしたBeanとは次のようなことを意味してます。
あるBeanのプロパティとして、
テストコードも記述して、コミットしています。
ネストしたBeanをどんなDataSetにしているかというと、Beanの型ごとにDbUnitのテーブルとしています。 つまりこういうクラス
があると、データセットはこうなります。
SampleListBeanのリストをデータセットに変換すると、各要素が持つNestedBeanはすべて同じテーブルになります。
たとえば、SampleListBeanのリストがこうだとします。
これをデータセットに変換すると、次のXMLで記述したデータセットと等価になります。
SampleListBeanとNestedBeanは別のテーブルになりますし、その結果アサーションも別に行うことができます。
- <dataset>
- <samplelistbean name="SampleListBean1" />
- <samplelistbean name="SampleListBean2" />
- <samplenestedbean name="NestedBean1" />
- <samplenestedbean name="NestedBean2" />
- <samplenestedbean name="NestedBean3" />
- <samplenestedbean name="NestedBean4" />
- <samplenestedbean name="NestedBean5" />
- </dataset>
DbUnitNGで提供するAssertionHelperクラスを利用するとBeanのリストとXMLやExcelをラクにアサートできます。