EasyDBI session
のデータにアクセスするためにを使用するコードに対してテストを作成するためのアイデアやテクニックを探していますmysql
。テストされていることを に認識させたくないので、EasyDBI session
a またはそのようなものをモックする方法を見つけたいと思ってDSN
いました。しかし、どうすればそれができるかは私には明らかではありません。
以前にこの問題を解決した/解決した人はいますか?
最終的に DBD:Mock を使用しましたが、これは非常に優れています。簡単な dbi コンポーネントをセットアップしたとき、DBD:Mock: を dsn として使用しました。次に、オプションで、返したい結果セットを渡しました。
my @result_set = (list of stuff);
my $eDBI = POE::Component::EasyDBI->spawn(
alias => 'eDBI',
dsn => "DBI:Mock:",
username => "",
password => "",
options => {
AutoCommit => 0,
mock_add_resultset => \@result_set,
},
no_connect_failures => 1,
reconnect_wait => 2,
max_retries => 5,
connect_error => [ $alias, "dbi_failure", 5 ],
connected => [ $alias, "dbi_connected" ],
);