Test::mysqldというモジュールがあって、MySQLを使うテストを簡単に書けるので好評なわけですが、今回これに copy_data_from って、既存のデータディレクトリをコピーして mysqld を起動するオプションを足しました。
このオプションを使うことで、以下のように MySQL データベースからコピーしたデータを使うテストを書くことができるようになっています。
use Test::mysqld;
my $mysqld = Test::mysqld->new({
my_cnf => {
'skip-networking' => '',
},
copy_data_from => 't/mysql.data', # mysqld の data ディレクトリをコピーしたやつ
}) or die $Test::mysqld::errstr;
my $dbh = DBI->connect($mysqld->dsn(dbname => 'myapp'))
or die $DBD::errstr;
... # 以下テストコード
説明あきたのであとは …
[さらに読む]