testing.postgresql をリリースしてました。

PyPItesting.postgresql をリリースしました。
以前作った testing.mysqldtesting.cassandraPostgreSQL 版ですね。

なにをするもの?

テストを実行する際に PostgreSQL を起動し、終わった後に終了をしてくれるライブラリです。

README の例を持ってくると、以下のようなコードで「あたらしい PostgreSQL サーバ」を構築できます。

import unittest
import testing.postgresql

class MyTestCase(unittest.TestCase):
    def setUp(self):
        self.postgresql = testing.postgresql.Postgresql(my_cnf={'skip-networking': None})

    def my_test(self):
        from sqlalchemy import create_engine
        engine = create_engine(self.postgresql.url())
        # ...

PostgreSQL 固有の機能/関数/その他を使いたい場合や INFORMATION_SCHEMA に手を突っ込んだコードを書きたいときなど、
他の DBMS によるエミュレーション(sqlite3 とか)では満足できない人におすすめです。

書いている途中に気づいたのですが、Perl にも
Test::postgresql というモジュールがありました。
このライブラリの Python 版ですね。

便利なの?

ほとんどのケースでは不要だと思います。