DbUnitの弱点はBeanのListとDataSetを比較できないことから考えて、実際に比較する方法を考えようと思う。
方法は2つある。
- BeanのListをIDataSet実装オブジェクトに変換する
- DataSetから比較するBeanのListに変換する
2の方法だと、プリミティブなプロパティだけならいいけど、集約してるときとか変換するのが大変そう(あるBeanが違うBeanのListをプロパティとして持つなど)。
なので1の方法で考える。基本的にクラスのメタ情報を使えば変換できそうだ。
ただ、リフレクションだとパフォーマンスに悪影響を及ぼしそうなので、バイトコード操作ライブラリとかも考えた方がよさそう。