ひがやすを技術ブログ

電通国際情報サービスのプログラマ

DataSetとS2Unit

S2の次のバージョンには、DataSet機能が組み込まれます。
DataSetとは、ストレージに依存しない表形式データの格納形式で、
ADO.NETのようなものです。インターフェースも意図的に似せて
あります。

  • DataSet
  • DataTable
  • DataRow
  • DataColumn
  • DataReader
  • DataWriter

ストレージとのデータのやり取りは、DataReader,DataWriterを
実装したクラスを使います。
例えば、Excelからデータを読み込み、データベースに格納するためには
次のようにします。


DataSet ds = new XlsReader("hoge.xls").read();
new SqlWriter(dataSource).write(ds);
Excelを使う場合は、シート名がテーブル名、最初の行がカラム名
2行目からデータが格納されます。日付のフォーマットもばっちしです。
DataReader,DataWriterを実装するとどんなストレージにも
対応できるはずですが、今のところは、Excelとデータベースだけ
の予定です。
この機能を使って、S2Unitは、テストのために必要なデータを
Excelからデータベースに格納したり、更新したデータを
データベースから読み込み、あらかじめExcelで用意した期待値と
一致しているか確かめるのです。
また、S2Unitでは、テストメソッドの開始直前に自動的にトランザクション
開始し、テストメソッドの終了直後に自動的にロールバックするので、
データベースのクリーンアップとか考える必要がなく、
何度でも同じテストを簡単に繰り返すことができます。