« YAPC::Asia 2009 で「スケールするウェブアプリケーションを20分で作る方法」について話します | Main | Mycached: memcached protocol support for MySQL »

August 18, 2009

Perl のテスト用に PostgreSQL のインスタンスを自動で構築するモジュール Test::postgresql を書いた

 以前作成した Test::mysqld (参照:Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた) の姉妹版、Test::postgresql を書きました。このモジュールを使えば、テストコード内で一時的にテスト専用の PostgreSQL のインスタンスを構築し、テストを実行することができます。構築されたインスタンスは、テスト終了時に自動的に削除されます。

use DBI;
use Test::postgresql;
use Test::More;

my $pgsql = Test::postgresql->new(
    initdb_args
        => $Test::postgresql::Defaults{initdb_args} . ' --encoding=utf8',
) or plan skip_all => $Test::postgresql::errstr;

plan tests => 10;

my $dbh = DBI->connect(
    "DBI:Pg:...;port=" . $pgsql->port
);

... 以下、テストコード ...

お使いになりたい方は、CPAN か coderepos からどうぞ。

TrackBack

TrackBack URL for this entry:
http://bb.lekumo.jp/t/trackback/404050/21027059

Listed below are links to weblogs that reference Perl のテスト用に PostgreSQL のインスタンスを自動で構築するモジュール Test::postgresql を書いた:

Comments

Post a comment