モデル(API)のテスト

なんでそもそもこういうことをやろうとしたのかというと、モデル(API)をテストするときにテストデータベースをどうするか、というのを考えてたため。


いろいろ考えてみた結果、「DBMSを全部SQLiteに変換してローカルSQLite上にてロジックだけテストさせる」
ようにするのが楽じゃね?という結論に。


まず前準備として
MySQL/Postgresqlsql文から、SQLiteに変換したsql文を保存しておく
・初期データ投入sql文を作っておく

というようにしておき、
実際テストするときに
SQLiteスキーマsql文を実行
・初期データ投入sql文を実行
・ほげほげテスト…

という感じでやるのが楽かなぁと。


ちなみに今使ってるORマッパはDBIx::Skinnyですが、
DBIx::Classだともう少しスマートにできそうな気も…。

まあもっといい方法があれば教えていただきたいなぁ、というのが本音><


(※いろいろ調べたURL)
http://developer.cybozu.co.jp/kazuho/2009/08/perl-mysql-test.html
http://d.hatena.ne.jp/foosin/20090418/1240087355
http://users.endeworks.jp/~daisuke/presentations/yapc/TestingAndAutomation.ppt
http://catalyst.g.hatena.ne.jp/dann/20080313/1205416454