モデル(API)のテスト
なんでそもそもこういうことをやろうとしたのかというと、モデル(API)をテストするときにテストデータベースをどうするか、というのを考えてたため。
いろいろ考えてみた結果、「DBMSを全部SQLiteに変換してローカルSQLite上にてロジックだけテストさせる」
ようにするのが楽じゃね?という結論に。
まず前準備として
・MySQL/Postgresqlのsql文から、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