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 からどうぞ。
Comments