TurboGearsでSQLALchemyを使用している場合にpy.testでモデルをテストする方法
test.cfgでdburiをテスト用のDB接続に設定する。
以下はSqliteのオンメモリDBを使う例
sqlalchemy.dburi = "sqlite:///:memory:"
model.py内のセットアップを以下のようにする。
def setup_module(module): database.bind_meta_data() database.metadata.engine.echo = 1 database.metadata.create_all()
これで毎回テーブルがcreateされる。
あとはTest*クラスやtest_*関数内でassertすればOK
テスト実行はもちろん py.test とコマンドラインで実行するだけ